默认情况下当redis集群节点发现有至少一个hashslot未被covered时将会停止接收查询。
这种情况下如果有一部份的集群down掉了,那整个集群将变得不可用。
集群将会在所有的slot重新covered之后自动恢复可用。
若想要设置集群在部份key space没有cover完成时继续去接收查询,就将参数设置为no。
cluster-require-full-coverage yes
slowlog-log-slower-than 10000
“慢操作日志”记录,单位:微秒(百万分之一秒,1000 * 1000),如果操作时间超过此值,将会把command信息”记录”起来.(内存,非文件)。其中”操作时间”不包括网络IO开支,只包括请求达到server后进行”内存实施”的时间.”0”表示记录全部操作。
slowlog-max-len 128“慢操作日志”保留的最大条数,”记录”将会被队列化,如果超过了此长度,旧记录将会被移除。可以通过”SLOWLOG args”查看慢记录的信息(SLOWLOG get 10,SLOWLOG reset)。
latency-monitor-threshold 0延迟监控,用于记录等于或超过了指定时间的操作,默认是关闭状态,即值为0。
hash-max-ziplist-entries 512 hash-max-ziplist-value 64hash类型的数据结构在编码上可以使用ziplist和hashtable。ziplist的特点就是文件存储(以及内存存储)所需的空间较小,在内容较小时,性能和hashtable几乎一样.因此redis对hash类型默认采取ziplist。如果hash中条目的条目个数或者value长度达到阀值,将会被重构为hashtable。
这个参数指的是ziplist中允许存储的最大条目个数,,默认为512,建议为128。
ziplist中允许条目value值最大字节数,默认为64,建议为1024。
list-max-ziplist-size -2 list-compress-depth 0redis在3.2中废弃了之前的两个list底层结构设置:list-max-ziplist-entries 512 list-max-ziplist-value 64。改为新的quicklist结构。
set-max-intset-entries 512与哈希和列表类似,有序集合也会使用一种特殊的编码方式来节省空间,这种特殊的编码方式只用于这个有序集合的长度和元素均低于以下参数设置的值时。 intset中允许保存的最大条目个数,如果达到阀值,intset将会被重构为hashtable。
zset-max-ziplist-entries 128 zset-max-ziplist-value 64zset为有序集合,有2中编码类型:ziplist,skiplist。因为”排序”将会消耗额外的性能,当zset中数据较多时,将会被重构为skiplist。
hll-sparse-max-bytes 3000设置HyeperLogLog的字节数限制,这个值通常在0~15000之间,默认为3000,基本不超过16000 。
activerehashing yes是否开启顶层数据结构的rehash功能,如果内存允许,请开启。rehash能够很大程度上提高K-V存取的效率。redis将会在每秒中抽出10毫秒来对主字典进行重新散列化处理,这有助于尽可能的释放内存。
client-output-buffer-limit <class><hard limit><soft limit><soft seconds>因为某些原因,client不能足够快的从server读取数据,那client的输出缓存限制可能会使client失连,这个限制可用于3种不同的client种类,分别是:normal、slave和pubsub。
client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60