Redis速查表(入门篇)

    • 1. 導入編

 

    • 2. コマンド編

 

    3. 設定編

总结

Redis = NoSQLデータベースの一種

実装はC
BSDライセンス

REmote DIctionary Serverの略で、ネットワーク越しにKVSとして使うことを前提とする

オンメモリで動作するが、HDDに保持して永続化することも可能

高頻度のKVのみ、あるいはキーのみをオンメモリに配置できる

版本比较

バージョンリリース時期主な変更点2.02010/09仮想メモリ対応2.22011/02効率向上2.42012/10仮想メモリ機能を非推奨化2.62012/10仮想メモリ機能を除去, Lua eval, 接続上限数の撤廃3.02015/04クラスタリング対応3.22016/05BITFIELD, GEO API

引入

在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”命令来查看选项的列表。

以下是摘錄出的高頻利用的事項。

オプション内容デフォルト-hオプション一覧–vバージョン表示–hホスト名指定localhost-pポート番号指定6379-aパスワード指定—rawマルチバイト許可—rdb.rdb取得-

调试选项

オプション内容–latencyレイテンシを表示–latency-historyレイテンシを堆積表示–slaveマスタサーバからのコマンドを表示

数据结构等

关于键盘

键将作为字符串在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


接着在命令编辑之后

广告
将在 10 秒后关闭
bannerAds