Redis速查表(入门篇)
-
- 1. 導入編
-
- 2. コマンド編
- 3. 設定編
总结
Redis = NoSQLデータベースの一種
実装はC
BSDライセンス
REmote DIctionary Serverの略で、ネットワーク越しにKVSとして使うことを前提とする
オンメモリで動作するが、HDDに保持して永続化することも可能
高頻度のKVのみ、あるいはキーのみをオンメモリに配置できる
版本比较
引入
在OSX中,可以使用brew进行安装。
$ brew update
$ brew install redis
$ redis-server -v
>Redis server v=3.2.8 sha=00000000:0 malloc=libc bits=64 build=1d731032efdfe68c
对于RH系(CentOS 6.x),由于yum中没有,所以进行了构建。
$ sudo yum update
$ sudo yum upgrade
$ sudo yum install gcc* tcl
$ wget http://download.redis.io/redis-stable.tar.gz
$ tar xzf redis-stable.tar.gz
$ cd redis-stable
$ sudo make
$ sudo make install
$ redis-server -v
>Redis server v=3.2.8 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=26e8ec75e44c781d
如果想将Redis常驻为服务,可以执行install_server.sh。
通过交互式形式,会创建相应的文件/目录。
$ ./utils/install_server.sh
>Welcome to the redis service installer
>This script will help you easily set up a running redis server
>
>Please select the redis port for this instance: [6379]
>Selecting default: 6379
>Please select the redis config file name [/etc/redis/6379.conf]
>Selected default - /etc/redis/6379.conf
>Please select the redis log file name [/var/log/redis_6379.log]
>Selected default - /var/log/redis_6379.log
>Please select the data directory for this instance [/var/lib/redis/6379]
>Selected default - /var/lib/redis/6379
>Please select the redis executable path [/usr/local/bin/redis-server]
>Selected config:
>Port : 6379
>Config file : /etc/redis/6379.conf
>Log file : /var/log/redis_6379.log
>Data dir : /var/lib/redis/6379
>Executable : /usr/local/bin/redis-server
>Cli Executable : /usr/local/bin/redis-cli
>Is this ok? Then press ENTER to go on or Ctrl-C to abort.
>Copied /tmp/6379.conf => /etc/init.d/redis_6379
>Installing service...
>Successfully added to chkconfig!
>Successfully added to runlevels 345!
>Starting Redis server...
>Installation successful!
命令的组成方式
Redis根据其功能使用不同的命令。
redis-server = Redis自身(サーバ)の操作
redis-sentinel = 監視とフェールオーバ機能
redis-cli = CLIクライアント
redis-benchmark = パフォーマンス計測
redis-check-aof, redis-check-dump = データファイルの破損時に利用
启动
启动服务器
使用redis-server命令来操作服务器。
Redis将在前台启动,并显示版本信息和端口号等,然后日志将开始流动。
$ redis-server
同时,在启动时可以指定配置文件。
$ redis-server /path/to/config.conf
以“作为守护程序启动”为技术性描述
默认情况下,它以前台运行,如果想要作为守护进程启动,则需指定–daemonize选项。
$ redis-server --daemonize yes
$ ps aux | grep redis
>root 23618 3.1 0.7 133544 7520 ? Ssl 23:26 0:00 redis-server *:6379
如果在引导时执行install_server.sh等操作来完成服务注册,则可以使用service等进行控制。
$ service redis_6379 start
$ service redis_6379 stop
连接
直接从客户端连接
使用redis-cli命令,启动客户端。
只需执行redis-cli命令,即可连接到本地Redis服务器。
$ redis-cli
可以使用Ping选项来确认连接是否可行。
$ redis-cli ping
> PONG
连接选项
可以使用”redis-cli -h”命令来查看选项的列表。
以下是摘錄出的高頻利用的事項。
调试选项
数据结构等
关于键盘
键将作为字符串在Redis中注册。
关于命名方面的限制非常宽松,没有找到明确的限制资料。
例如,按照我所尝试的情况来看,可以使用以下的文字:
-
- 空白(SET ‘a b c’ ‘foo’)
-
- 予約語(SET ‘SET’ ‘foo’)
-
- 特殊文字(SET ‘!@#$%^&*()-+|~{}[];:\'”,.<>/?’ ‘foo’)
- マルチバイト文字(SET あああ ‘foo’)
在文化上,很多例子都采用了将键名按照域名用冒号 “:” 分隔的规则来表示。
SET some:service:some:user:id:123 '999'
在中文中,键是区分大小写的。
关于价值
以下的类型可以用作值:
-
- 文字列
-
- リスト = 配列
-
- セット = リストと異なり順序を保持せず、要素の重複を許容しない
-
- ソート済みセット = セットとしての特性に加え、インデックスを設定できる
- ハッシュ = 連想配列
由于Redis不是面向文档的数据库,因此无法嵌套数据结构。
如果需要存储复杂数据,可以将其序列化为JSON等格式进行存储(反模式?)。
除了值之外,整数、错误、空值等也可以作为命令的返回值存在。
以下是原文的中文释义:
对比 参考
-
- Wikipedia – Redis
-
- OSDN Magazine
Redis(公式)
Redis Quick Start
How to install Redis 3.x on new CentOS 6.6 server
Stack overflow – How to keep redis server running
接着在命令编辑之后