inclouds
和我们的Struts2配置文件类似,可以通过includes包含,redis.conf可以作为总闸,包含其他
general
daemonized 出厂默认设置为no
daemonize:yes:redis采用的是单进程多线程的模式。当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式。在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。
daemonize:no: 当daemonize选项设置成no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出。
pidfile /var/run/redis.pid
守护进程的默认pid文件
port 6379
redis默认端口号
tcp-backlog
设置tcp的backlog,backlog其实是一个连接队列,backlog队列总和=未完成三次握手队列 + 已经完成三次握手队列。
在高并发环境下你需要一个高backlog值来避免慢客户端连接问题。注意Linux内核会将这个值减小到/proc/sys/net/core/somaxconn的值,所以需要确认增大somaxconn和tcp_max_syn_backlog两个值,来达到想要的效果 默认511 可以根据具体环境环境更改
bind ip地址
绑定端口号,根据应用选择连接的IP地址
timeout 0
空闲时断开服务器的时间
tcp-keepalive 0/60
查看通信状态是否良好
单位为秒,如果设置为0,则不会进行Keepalive检测,建议设置成60
loglevel notice
redis的日志打印级别 debug/verbose/notice/warning 日志打印级别从低到高
logfile “”
redis的日志名字
syslog-enabled yes/no(默认)
是否把日志输出到syslog中
syslog-ident redis(默认)
指定syslog里的日志标志
syslog-facility local0(默认)
指定syslog设备,值可以是USER或LOCAL0-LOCAL7
datebases 16(默认)
数据库数量
security
redis的安全模块
密码
config get dir
获取redis的启动路径
config get requirepass
获取redis启动密码
config set reqirepass “密码”
设置redis启动密码
auto “密码”
验证密码
limits
maxclients 10000(默认)
设置redis同时可以与多少个客户端进行连接。默认情况下为10000个客户端。当你无法设置进程文件句柄限制时,redis会设置为当前的文件句柄限制值减去32,因为redis会为自身内部处理逻辑留一些句柄出来。如果达到了此限制,redis则会拒绝新的连接请求,并且向这些连接请求方发出“max number of clients reached”以作回应。
maxmemory
设置redis可以使用的内存量。一旦到达内存使用上限,redis将会试图移除内部数据,移除规则可以通过maxmemory-policy来指定。如果redis无法根据移除规则来移除内存中的数据,或者设置了“不允许移除”,那么redis则会针对那些需要申请内存的指令返回错误信息,比如SET、LPUSH等。
但是对于无内存申请的指令,仍然会正常响应,比如GET等。如果你的redis是主redis(说明你的redis有从redis),那么在设置内存使用上限时,需要在系统中留出一些内存空间给同步队列缓存,只有在你设置的是“不移除”的情况下,才不用考虑这个因素
maxmemory-policy noevoction(默认)
缓存过期策略
(1)volatile-lru:使用LRU算法移除key,只对设置了过期时间的键
(2)allkeys-lru:使用LRU算法移除key
(3)volatile-random:在过期集合中移除随机的key,只对设置了过期时间的键
(4)allkeys-random:移除随机的key
(5)volatile-ttl:移除那些TTL值最小的key,即那些最近要过期的key
(6)noeviction:不进行移除。针对写操作,只是返回错误信息 永不过期
maxmemory-samples 5(默认)
设置样本数量,LRU算法和最小TTL算法都并非是精确的算法,而是估算值,所以你可以设置样本的大小,
redis默认会检查这么多个key并选择其中LRU的那个
snapshot快照
RDB相关配置
save 秒 写操作次数
save 300 10
禁用:save “”
立马保存:
save 阻塞其他进程开始保存
bgsave 后台进行快照保存,主进程写操作还可以用
stop-writes-on-bgsave-error yes(默认)
当备份数据保存出错是,主进程停止写的操作
配置成no,不在乎数据一致性
rdbcompression yes(默认)
对于存储到磁盘中的快照,可以设置是否进行压缩存储。如果是的话,redis会采用
LZF算法进行压缩。如果你不想消耗CPU来进行压缩的话,可以设置为关闭此功能
rdbchecksum
在存储快照后,还可以让redis使用CRC64算法来进行数据校验,但是这样做会增加大约
10%的性能消耗,如果希望获取到最大的性能提升,可以关闭此功能
dbfilename “dump.rdb”
保存数据的名字
dir
快照文件保存的目录
append only mode
appendonly no(默认)
是否开始对写操作的日志记录
appendfilename “appendonly.aof”
日志文件名字
appendfsync everysec(默认)
always/everysec/no
always数据发生变化时会被立即记录到磁盘中 性能价差,数据完整性较好
everysec 异步操作。每秒记录,如果1秒内down掉,数据丢失
no-appendfsync-no-rewrite no(默认)
重写时是否可以运用appendfsync 默认即可,保证数据的安全性
auto-aof-rewritr-min-size 100(默认)
设定重写的基准值 百分比
auto-aof-rewritr-percentage 64mb(默认)
设定重写的基准值 内存大小
参考资料:尚硅谷周阳redis讲解
本文章将持续更新,欢迎互相学习