Redis配置文件介绍

目录

1、redis配置文件介绍

2、包含

3、NETWORK:网络

4、GENERAL:通用

4、SNAPSHOTTING 快照

5、SECURITY 安全

6、CLIENTS 客户连接限制

7、MEMORY MANAGEMENT 内存管理

8、APPEND ONLY MODE 模式 aof配置


1、redis配置文件介绍

启动的时候,就是通过读取配置文件来启动

配置文件unit单位是对大小写不敏感

2、包含

3、NETWORK:网络

bind 127.0.0.1 -::1 #绑定的IP,绑定的主机地址 protected-mode yes #保护模式 port 6379 #端口,指定Redis监听端口,默认端口为6379 timeout 300 #当 客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能

4、GENERAL:通用

daemonize yes #以守护线程的方式运行,默认是no,可以通过该配置项修改,使用yes启用守护进程 pidfile /var/run/redis.pid #当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定

loglevel notice #指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose logfile "" #日志记录位置,默认为标准输出,如果配置Redis为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给/dev/null databases 16 #设置数据库的数量,默认数据库为16,可以使用SELECT 命令在连接上指定数据库id always-show-logo no #是否显示logo

4、SNAPSHOTTING 快照

持久化使用,在规定的时间内,执行了多少次操作,则会持久化到文件 .rdb .aof

Redis是内存数据库,如果没有持久化,数据断电即失

语法:save <seconds> <changes>

# Redis中默认配置文件提供三个条件 save 900 1 #如果900秒内,如果至少有一个key修改,则持久化 save 300 10 #如果300秒内,如果至少10个key修改,则持久化 save 60 10000 #如果60秒内,如果至少10000个key修改,则持久化 stop-writes-on-bgsave-error yes #如果持久化出错,是否继续工作 rdbcompression yes #是否压缩rdb文件,需要消耗一些CPU资源,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变的巨大 rdbchecksum yes #保存rdb文件时,是否进行错误校验检查 dbfilename dump.rdb #指定本地数据库文件名,默认值为dump.rdb rdb-del-sync-files no #rdb文件是否删除同步锁 dir ./ #rdb文件保存目录。

5、SECURITY 安全

可以在这里设置Redis的密码,默认是没有密码的

requirepass foobared #设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH 命令提供密码,默认关闭

6、CLIENTS 客户连接限制

maxclients 128 #设置同一时间最大客户端连接数 Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。 当客户端连接数到达限制时,Redis会关闭新的连接并向客户端返回max number of clients reached错误信息

7、MEMORY MANAGEMENT 内存管理

过期键的删除策略?

1、被动删除。在访问key时,如果发现key已经过期,那么会将key删除。

2、主动删除。定时清理key,每次清理会依次遍历所有DB,从db随机取出20个key,如果过期就删除,如果其中有5个key过期,那么就继续对这个db进行清理,否则开始清理下一个db。

3、内存不够时清理。Redis有最大内存的限制,通过maxmemory参数可以设置最大内存,当使用的内存超过了设置的最大内存,就要进行内存释放, 在进行内存释放的时候,会按照配置的淘汰策略清理内存。

内存淘汰策略有哪些?

当Redis的内存超过最大允许的内存之后,Redis 会触发内存淘汰策略,删除一些不常用的数据,以保证Redis服务器正常运行。

Redisv4.0前提供 6 种数据淘汰策略

  • volatile-lru:LRU(Least Recently Used),最近使用。利用LRU算法移除设置了过期时间的key
  • allkeys-lru:当内存不足以容纳新写入数据时,从数据集中移除最近最少使用的key
  • volatile-ttl:从已设置过期时间的数据集中挑选将要过期的数据淘汰
  • volatile-random:从已设置过期时间的数据集中任意选择数据淘汰
  • allkeys-random:从数据集中任意选择数据淘汰
  • no-eviction:禁止删除数据,当内存不足以容纳新写入数据时,新写入操作会报错

Redisv4.0后增加以下两种

  • volatile-lfu:LFU,Least Frequently Used,最少使用,从已设置过期时间的数据集中挑选最不经常使用的数据淘汰。
  • allkeys-lfu:当内存不足以容纳新写入数据时,从数据集中移除最不经常使用的key。

内存淘汰策略可以通过配置文件来修改,相应的配置项是maxmemory-policy,默认配置是noeviction

maxmemory <bytes> #Redis默认最大内存容量 Redis在启动时会把数据加载到内存中,达到最大内存后, Redis会先尝试清除已到期或即将到期的Key,当此方法处理 后, 仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。 Redis新的vm机制,会把Key存放内存,Value会存放在swap区 maxmemory-policy noeviction #内存到达上限的限制 1、volatile-lru:只对设置了过期时间的key进行LRU 2、allkeys-lru :删除使用lru算法的key 3、volatile-random:随机删除即将过期 4、allkeys-random:随机删除 5、volatile-ttl:删除即将过期的 6、noeviction:永不过期,返回错误

8、APPEND ONLY MODE 模式 aof配置

appendonly no #默认是不开启aof模式,默认使用rdb方式持久化,在大部分情况下,rdb完全够用 appendfilename "appendonly.aof" #持久化的文件的名称 # appendfsync always #每次修改都会sync,消耗性能 appendfsync everysec #每秒执行一次sync,可能会丢弃掉ls的数据 # appendfsync no #不执行同步。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值