最后一章我们要了解对运行的Redis进行管理,这不是一个Redis管理综合的指南,在这我们只能了解一些基础的知识。

配置

当你第一次启动Redis server的时候,会出现警告:redis.conf 文件没有找到。这个文件是配置Redis用的。每次发布Redis的时候都有一个写的很详细的redis.conf。例子文件包含了默认的Redis配置选项,这对我们了解每个设置都是什么很有帮助。你可以在https://github.com/antirez/redis/raw/2.4.6/redis.conf找到。

这个配置文件是Redis2.4.6版本的。你可以通过info命令查看你当前的版本。

因为这个文件注释很详细,我们就不在这一一介绍了。

我们要给redis.conf文件增加内容,就用config set命令,我们之前就设置了slowlog-log-slower-than 为0。

这还有一个config get命了显示设置的命令。这个命令还支持参数匹配。所以如果我们想显示所有跟log有关的我们可以用:

config get *log*

 

验证

Redis能配置成需要密码的。可以通过requirepass设置(可以通过redis.conf文件或者config set命令设置)客户端需要用auth password命令。一旦客户端被验证,就可以用任何命令了。通过配置你可以给命令改名字:

rename-command CONFIG 5ec4db169f9d4dddacbfb0c26ea7e5ef
rename-command FLUSHALL 1041285018a942a4922cbf76623b741e

或者你可以设置一个命令问空字符串来关闭命令。

当你开始用Redis的时候,你可能很想知道 你能有多少个key呢?或者在hash中你能有多少个字段呢?或者在list中能有多少个元素呢?每个实例实际限制都是亿万的。

 

Replication

Redis支持复制,这就意味这让你写一个Redis实例(master),一个或多个实例(slaves)可以跟着主服务器一起更新。你可以配置一个slave通过用slaveof配置设置或者通过slaveof命令。

复制帮助我们保护数据通过考配到其他服务器上。Replication可以提高性能通过读分发到slaves上。不过这会得到一些过期的数据,但是很多应用是可以做一些权衡。

不幸的的是Redis还不支持自动的故障转移。如果master down了,salve必须手动的promoted。传统的高级工具会用一个心跳监控脚本来切换。

备份

备份Redis就是简单的将master拷贝一个快照到指定的位置(S3,FTP…)。默认的Redis保存快照是一个名为dump.rdb的文件。在任何时间点,你可以简单的scp,ftp,cp这文件。

关闭快照和只赠文件(aof)在master上而让slave做这些。这回减少master的压力。

 

缩放和Redis集群

Replication是第一个要用的。一些花费较高的命令(像sort)把他们分配到slave上执行可以挺高性能。

根据这个,我们可以分配kyes到多个Redis实例中(可以在同一个内存中,同一个机器)。目前这是你需要考虑的(虽然一些Redis的驱动提供同样的逻辑)。这教程就不告诉怎么把你的数据水平分布了。目前你不要担心的,但是当你用的是要考虑好。

好消息就是Redis集群正在完善。不仅提供水平伸缩,还提供的自动失效备份。

高性能可伸缩我们先在就可以达成,只要你愿意把时间和经历放在里面。Redis机会使事情变得简单。

 

小节

在这章给出了一些在Redis应用的项目和站点,不用怀疑Reids,因为一个运行了一段时间,然而一些工具,特别是在安全和可用性上还比较年轻。

Redis Cluster希望很快就能面市,可以简单高效的为你存储数据,要好好的利用他就要系统的学习。