容量单位不区分大小写,G和GB有区别
daemonize : 守护进程,后台启动
是否为后台进程,设置为yes
databases 16
设定库的数量 默认16,默认数据库(序号)为0,如:[0,1,2,…,15]
可以使用指定数据库命令
: SELECT < dbid >
pidfile : pid文件
存放pid文件的位置,每个实例会产生一个不同的pid文件
include : 可以使用它来组合多个配置
网络配置
日志输出级别
指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为 notice
- 四个级别根据使用阶段来选择,生产环境选择notice 或者warning
日志文件名称
持久化规则
由于Redis是基于内存的数据库,需要将数据由内存持久化到文件中
持久化方式:
- RDB
- AOF
RDB文件相关
主从复制
密码设置
- 想要
永久生效
,则需要在配置文件中进行设置
。 - 访问密码的查看、设置和取消
- 在
命令中设置密码,只是临时的
。重启redis服务器,密码就还原了。
客户端连接相关
maxclients 10000 最大客户端数量
maxmemory <bytes> 最大内存限制
maxmemory-policy noeviction # 内存达到限制值的处理策略
建议这样设置!
至于为什么,下面详细介绍!
maxclients
- 设置redis同时可以与多少个客户端进行连接。
- 默认情况下为10000个客户端。
- 如果达到了此限制,redis则会拒绝新的连接请求,并且向这些连接请求方发出“
max number of clients reached
”以作回应。 建议设置
maxmemory
- 建议
必须设置
,否则到时内存占满,造成服务器宕机 - 设置redis可以使用的内存量。一旦到达内存使用上限,redis将会试图移除内部数据,移除规则可以通过
maxmemory-policy
来指定。 - 如果redis无法根据移除规则来移除内存中的数据,或者设置了“不允许移除”,那么redis则会针对那些需要申请内存的指令返回错误信息,比如SET、LPUSH等。
- 但是对于无内存申请的指令,仍然会正常响应,比如GET等。如果你的redis是主redis(说明你的redis有从redis),那么在设置内存使用上限时,需要在系统中留出一些内存空间给同步队列缓存,只有在你设置的是“不移除”的情况下,才不用考虑这个因素。
maxmemory-policy
maxmemory-policy 六种方式
1、volatile-lru: 只对设置了过期时间的key进行LRU(默认值
)
2、allkeys-lru : 删除lru算法的key
3、volatile-random: 随机删除即将过期key
4、allkeys-random: 随机删除
5、volatile-ttl : 删除即将过期的
6、noeviction : 永不过期,返回错误
maxmemory-samples
- 设置样本数量,LRU算法和最小TTL算法都并非是精确的算法,而是估算值,所以你可以设置样本的大小,redis默认会检查这么多个key并选择其中LRU的那个。
- 一般设置3到7的数字,
数值越小
样本越不准确
,但性能消耗越小
。
AOF相关部分