Redis的服务器端配置
原创
©著作权归作者所有:来自51CTO博客作者年轻即出发的原创作品,请联系作者获取转载授权,否则将追究法律责任
Redis的服务器端配置
- 计量单位说明。
- 大小写不敏感。
- include
类似jsp中的include,多实例的情况可以把公用的配置文件提取出来 - ip地址的绑定(bind)。
- 默认情况bind=127.0.0.1只能接受本机的访问请求
- 不写的情况下,无限制接受任何ip地址的访问
- 生产环境肯定要写你应用服务器的地址
- 如果开启了protected-mode,那么在没有设定bind ip且没有设密码的情况下,Redis只允许接受本机的响应
- tcp-backlog
- 可以理解是一个请求到达后至到接受进程处理前的队列
- backlog队列总和=未完成三次握手队列 + 已经完成三次握手队列
- 高并发环境tcp-backlog 设置值跟超时时限内的Redis吞吐量决定
- timeout
一个空闲的客户端维持多少秒会关闭,0为永不关闭 - TCP keepalive
对访问客户端的一种心跳检测,每个n秒检测一次, 官方推荐设为60秒. - daemonize
是否为后台进程 - pidfile
存放pid文件的位置,每个实例会产生一个不同的pid文件 - log level
四个级别根据使用阶段来选择,生产环境选择notice 或者warning - logfile
日志文件名称 - database
设定库的数量 默认16 - security
在命令行中设置密码 - maxclient
最大客户端连接数 - maxmemory
- 设置Redis可以使用的内存量。一旦到达内存使用上限,Redis将会试图移除内部数据,移除规则可以通过maxmemory-policy来指定。如果Redis无法根据移除规则来移除内存中的数据,或者设置了“不允许移除”
- 那么Redis则会针对那些需要申请内存的指令返回错误信息,比如SET、LPUSH等
- Maxmemory-policy
- volatile-lru:使用LRU算法移除key,只对设置了过期时间的键
- allkeys-lru:使用LRU算法移除key
- volatile-random:在过期集合中移除随机的key,只对设置了过期时间的键
- allkeys-random:移除随机的key
- volatile-ttl:移除那些TTL值最小的key,即那些最近要过期的key
- noeviction:不进行移除。针对写操作,只是返回错误信息
- Maxmemory-samples
- 设置样本数量,LRU算法和最小TTL算法都并非是精确的算法,而是估算值,所以你可以设置样本的大小。
- 一般设置3到7的数字,数值越小样本越不准确,但是性能消耗也越小。