redis配置文件conf

1.maxmemory-policy : 缓存策略
1. volatile-lru : (Least recently used,最近最少使用 )使用lru算法移除key 只对设置了过期时间的key
2. allkeys-lru : 使用lru算法移除key
3. volatile-random:在过期集合中随机移除key,只对设置了过期时间的key
4. allkeys-random : 移除随机的key
5. volatile-ttl : 移除那些ttl值最小的key,即那些最近要过期的key TTL 生存时间
6. noeviction : 不移除,针对写操作,返回错误信息
2.maxmemory-samples : 缓存样例 针对TTL和LRU算法 默认5个

redis conf

- Redis默认不是以守护进程的方式运行,可以通过改配置项修改,使用Yes启用守 护进程
 daemonize  no
- Redis以守护进程的方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,key可以通过pidfile指定
- pidfile /var/run/redis.pid
- 指定redis监听端口,默认端口6379
- port 6379
- 绑定的主机地址
- bind 127.0.0.1
- 当客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能
- timeout 300
- 指定日志记录级别,redis总共支持四个级别,debug,verbose,notice,warning,默认为verbose
- loglevel verbose
- 日志记录方式,默认为标准输出,如果配置redis为守护方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给/dev/null
- logfile stdout
- 设置数据库的数量,默认数据库为0,可以使用 SELECT <DBid> 命令在连接上指定数据库id
- databases 16
- 指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合 save <seconds> <changes> redis默认配置文件中 提供了三个条件
- save 900 1
- save 300 100
- save 60 10000
- 分别表示 900秒 1个更改  300秒 100个  60秒 10000个
-  指定储存值本地数据库时是否压缩数据,默认yes,redis采用LZF压缩,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变得巨大
- rdbcompression yes
- 指定本地数据库文件名,默认值为dump.rdb
- dbfilename dump.rdb
- 指定本地数据库存放目录
- dir ./
- 设置当本机为slave服务时,设置master服务的IP地址及端口,在redis启动时,它会自动从master进行数据同步
- slaveof <masterIP> <masterport>
- 当master服务设置了密码保护时,slave服务连接master密码
- masterauth <master-password>
- 设置redis连接密码,如果配置了连接密码,客户端在连接redis时需要通过AUTH <password> 命令提供密码,默认关闭
- requirepass foobared
- 设置同一时间最大的客户端连接数,默认无限制,redis可以同时打开的客户端连接数为redis进程可以打开的最大文件描述符数,如果设置maxclients 0 ,表示不做限制,当客户端连接数达到限制时,redis会关闭新的连接并向客户端返回 max number of clients reached 错误信息
- maxclients 128
- 指定redis的最大内存限制,redis在启动时会把数据加载到内存中,达到最大内存后,redis会先尝试清除已经到期或者将要到期的key,当此方法处理后,仍然达到最大内存设置,将无法进行写操作,可以进行读取操作,redis最新vm机制,会把key放进内存,value会存在swap区
- maxmemory <bytes>
- 指定是否在每次更新操作后进行日志记录,redis默认情况把异步的数据写入磁盘,如果不开启,可能会导致断电时一段时间的数据丢失,因为redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中,默认为no
- appendonly no
- 指定更新日志文件名字 默认为appendonly.aof (持久化,是读写操作日志)
- appendfilename appendonly.aof
- 指定更新日志条件,共三个可选项目
- no 表示等操作系统进行数据缓存同步到磁盘  (快)
- always 表示每次更新都手动调用fsync() 将数据写到磁盘慢 安全()
- everysec 表示每秒钟同步一次 默认值
- appendfsync everysec
- 指定是否启用虚拟内存机制,默认为no,vm机制将数据分页存放,由redis将访问量较少的页,即冷数据swap到磁盘上,访问多的页面由磁盘自动换出到内存中
- vm-enabled no
- 虚拟内存文件路径,默认 /temp/redis.swap,不可多个redis共享
- vm-swap-file /temp/redis.swap
- 将所有大于 vm-max-memory的数据存入虚拟内存,无论vm-max-memory设置多小,所有索引数据都是内存存储的,也就是说当vm-max-memory的设置为0的时候,其实所有的value是存在磁盘中的
- vm-max-memory 0
- redis swap文件分了很多page,一个对象可以保存在page上面,但一个page上不能被多个对象共享,vm-page-size 是要根据储存数据的大小来确定的,作者建议如果存了很多小对象,page大小最好设置为32或者64bytes,如果存储大对象,可以用更大的page,如果不确定就用默认值  
- vm-page-size 32
- 设置swap中的page数量,由于页表是存在内存中的,在磁盘上每8个pages消耗1bytes
- vm-page 134217728
- 设置访问swap的线程数,不要超过机器核心数,如果是0 ,那么所有的swap操作都是串行的,可能有较高延迟,默认4
- vm-max-threads 4
- 设置客户端应答时,是否把较小的包合并成一个包发送,默认开启
- glueoutputbuf yes
- 指定在超过一定数量或者最大元素超过某一临界值,采用一种特殊的哈希算法
- hash-max-zipmap-entries 64
-  hash-max-zipmap-value  128
- 指定是否激活重置哈希,默认为开启
- activerehashing yes
- 指定包含其他配置文件,可以在同一主机上多个redis实例之间使用同一份conf,而各个实例又有自己的特殊配置文件
- include /path/to/local.conf

- 
发布了64 篇原创文章 · 获赞 11 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/Summer_i/article/details/79484348
今日推荐