七,安全部分
当redis-server处于一个不太可信的网络环境中时,可以要求redis客户端在向
redis-server发送请求之前,先进行密码验证
1:requirepass:设置请求的密码
2:rename-command:对命令进行重命名,只读的从redis并不适合直接暴露给不可信的客户
端。为了尽量降低风险,可以使用rename-command指令来将一些可能有破坏力的命令重命
名,避免外部直接调用。
如果要禁用某些命令,那就重命名为“”就可以了
八,Lua脚本部分
1:lua-time-limit:设置ua脚本的最大运行时间,单位是毫秒,如果此值设置为0或负数,则
既不会有报错也不会有时间限制
九,慢日志部分
1:slowlog-log-slower-than:判断是否慢日志的执行时长,单位是微秒,负数则会禁用慢日
志功能,而0则表示强制记录每一个命令
2:slowlog-max-len:慢日志的长度。当一个新的命令被写入日志时,最老的一条会从命令日
志队列中被移除。
十,事件通知部分
1:notify-keyspace-events:设置是否开启Pub/Sub 客户端关于键空间发生的事件,有很多
通知的事件类型,默认被禁用,因为用户通常不需要该特性,并且该特性会有性能损耗,
设置成空字符串就是禁用
十一,高级配置部分
1:有关哈希数据结构的一些配置项:当hash只有少量的entry,并且最大的entry所占空间没
有超过指定的限制时,会用一种节省内存的数据结构来编码:
(1)hash-max-ziplist-entries:设置使用ziplist的最大的entry数
(2)hash-max-ziplist-value:设置使用ziplist的值的最大长度
2:有关列表数据结构的一些配置项:数据元素较少的list,可以用另一种方式来编码从而节
省大量空间:
(1)list-max-ziplist-entries:设置使用ziplist的最大的entry数
(2)list-max-ziplist-value:设置使用ziplist的值的最大长度
3:有关Set数据结构的配置项:当set数据全是十进制64位有符号整型数字构成的字符串时,
设置set使用一种紧凑编码格式来节省内存的最大长度:
(1)set-max-intset-entries:设置使用紧凑编码的最大的entry数
4:有关有序集合数据结构的配置项:有序集合也可以用一种特别的编码方式来节省大量空
间,这种编码只适合长度和元素都小于下面限制的有序集合:
(1)zset-max-ziplist-entries:设置使用ziplist的最大的entry数
(2)zset-max-ziplist-value:设置使用ziplist的值的最大长度
5:HyperLogLog 稀疏表示字节限制:这个限制包含了16个字节的头部,当一个HyperLogLog使
用sparse representation,超过了这个限制,它就会转换到dense representation上
(1)hll-sparse-max-bytes:设置HyperLogLog 稀疏表示的最大字节数
6:关于是否启用哈希刷新的配置项:启用哈希刷新,每100个CPU毫秒会拿出1个毫秒来刷新
Redis的主哈希表(顶级键值映射表),redis所用的哈希表实现采用延迟哈希刷新机制:
对一个哈希表操作越多,哈希刷新操作就越频繁;反之,如果服务器是空闲的,那么哈希
刷新就不会完成,哈希表就会占用更多的一些内存而已。默认是每秒钟进行10次哈希表刷
新,用来刷新字典,然后尽快释放内存
(1)activerehashing:设置是否启用哈希刷新,默认是yes
7:有关重写aof的配置项:当一个子进程重写AOF文件时,如果启用下面的选项,则文件每生
成32M数据会被同步。为了增量式的写入硬盘并且避免大的延迟,这个指令是非常有用的
(1)aof-rewrite-incremental-fsync:默认是yes
8:关于客户端输出缓冲的控制项:可用于强制断开那些因为某种原因从服务器读取数据的速度不够快的客
户端,一个常见的原因是一个发布/订阅客户端消费消息的速度无法赶上生产它们的速度,可以对三种
不同的客户端设置不同的限制:
(1)normal:正常客户端
(2)slave:slave和MONITOR 客户端
(3)pubsub:至少订阅了一个pubsub channel或pattern的客户端
语法是:client-output-buffer-limit 《class》《hard limit》 《soft limit》 《soft 持续时间单位秒》
默认normal客户端不做限制,因为他们在不主动请求时不接收数据;pubsub和slave客户端会有
一个默认值;把硬限制和软限制都设置为0来禁用该功能,默认配置如下:
(1)client-output-buffer-limit normal 0 0 0
(2)client-output-buffer-limit slave 256mb 64mb 60
(3)client-output-buffer-limit pubsub 32mb 8mb 60
9:有关频率的配置项:Redis调用内部函数来执行许多后台任务,Redis依照指定的“hz”值来执行检查任
务,默认情况下,“hz”的被设定为10。提高该值将在Redis空闲时使用更多的CPU时,但同时当有多个
key同时到期会使Redis的反应更灵敏,以及超时可以更精确地处理。范围是1到500之间,但是值超过
100通常不是一个好主意。大多数用户应该使用10这个默认值,只有在非常低的延迟要求时有必要提高
到100
(1)hz:设置检查任务的频率