Redis_配置文件

作者: java 发布时间: 2022-04-13 浏览: 1186 次 编辑

一、解析配置文件 redis.conf 

1、位置




2、Units单位




1)配置大小单位,开头配置了一些基本的度量单位,只支持bytes,不支持bit


2)对大小写不敏感


3、INCLUDES包含




可以通过includes包含,redis.conf 可以作为总闸,包含其他


4、GENERAL通用


1)Daemonize:设置为守护线程


2)Pidfile:进程管道id文件,如果没有指定其他路径,就用默认路径指定pid


3)Port:端口


4)tcp-backlog


设置tcp的backlog,backlog其实是一个连接队列,backlog队列总和 = 未完成三次握手队列 + 已经完成三次握手队列


在高并发环境下你需要一个高backlog值来避免慢客户端连接问题。注意Linux内核会将这个值减小到/proc/sys/net/core/somaxconn的值,所以需要确认增大somaxconn和tcp_max_syn_backlog两个值来达到想要的效果。


5)Timeout:超时


6)Bind:


7)Tcp-keepalive:单位为秒,如果设置为0,则不会进行Keepalive检测,建议设置成60 


8)Loglevel:日志级别


9)Logfile:日志文件名


10)Syslog-enabled:是否把日志输出到syslog中


11)Syslog-ident:指定syslog里的日志标志


12)Syslog-facility:指定syslog设备,可以是USER或LOCAL0 - LOCAL7


13)Databases:数据库,默认情况下有16个库


5、SNAPSHOTTING快照


1)Save:


① save秒钟 写操作次数




RDB是整个内存的压缩过的Snapshot,RDB数据结构,可以配置复合的快照出发条件,默认情况下:


是1分钟内改了1万次,或5分钟内改了10次,或15分钟内改了1次。

② 禁用




如果想禁用RDB持久化的策略,只要不设置任何save命令,或者给save传入一个空字符串参数也可以。


2)Stop-writes-on-bgsave-error



如何配置成no,表示数据不一致或者有其他的手段发现和控制


3)rdbcomprehension




rdbcomprehension:对于存储到磁盘中的快照,可以设置是否进行压缩存储。如果是的话redis会采用LZF算法进行压缩。如果你不想消耗CPU进行压缩的话,可以设置为关闭此功能。


4)rdbchecksum




rdbchecksum:在存储快照后,还可以让redis使用CRC64算法来进行数据校验,但是这样做会增加大约10%的性能消耗,如果希望取到最大的性能提升,可以关闭此功能。


5)dbfilename


6)dir


6、REPLICATION复制


 


7、SECURITY安全


访问密码的查看、设置和取消




8、LIMITS限制


1)Maxclients


设置Redis同时可以和多少个客户端进行连接。默认情况下为10000个客户端。当你无法设置进程文件句柄限制时,redis会设置为当前的文件句柄减去32,因为,redis会为自身内部处理逻辑留一些句柄出来。如果达到了此限制,redis会拒绝新的连接请求,并且向这些连接请求方发出 “max number of clients reached” 以作回应。


2)Maxmemory


设置Redis可以使用的内存量。一旦达到内存使用上限,redis会试图移除内部数据,移除规则可以通过maxmemory-policy来指定。如果redis无法根据移除规则来移除内存中的数据,或者设置了 “不允许移除”,那么Redis则会针对那些需要申请内存的指令返回错误信息,比如SET、LPUSH等。


但是对于无内存申请的指令,仍然会正常响应,比如GET等。如果你的Redis是主Redis(说明你的redis有从redis),那么在设置内存使用上限的时候,需要在系统中留出一些内存空间给同步队列缓存,只有在你设置的是 “不移除”的情况下,才不用考虑这个因素。


3)Maxmemory-policy:


volatile-lru:使用LRU算法移除key,只对设置了过期时间的键

allkeys-lru:使用LRU算法移除key

volatile-random:在过期集合中移除随机的key,只对设置了过期时间的键

allkeys-random:移除随机的key

volatile-ttl:移除那些TTL值最小的key,即那些最近要过期的key

noeviction:不进行移除。针对写操作,只是返回错误信息。

4)Maxmemory-samples