redis内存淘汰和持久化_redis持久化机制和内存淘汰策略

Redis的持久化机制?

大部分的缓存框架都会有基本功能淘汰策略,持久机制.

Redis的持久化的机制有两种:

AOF(增量):基于数据日志操作实现的持久化. 开启方式:redis.conf中 appendonly改为 yes

AOF的三种同步方式:

appendfsync always 每次有数据修改发生时都会写入AOF文件,能够数据不丢失,但是效率非常低.例1S1000个请求, 就会显得低效

appendfsync everysec 每秒钟同步一次,该策略为AOF的缺省(默认)策略(缺点:1秒内数据可能丢失)

appendfsync no 从不同步,高效但是数据不会被持久化

建议最好使用everysec既能够保证数据的同步,效率还可以.

RDB(默认,全量):采用定时持久化机制,但是服务器因为某种原因宕机可能会数据丢失.

全量同步和增量同步区别:

全量:就是每天定时(避开高峰期)或者是采用一种周期的实现将数据拷贝另外一个地方.频率不是很大,但是可能会造成数据的丢失.

增量:增量同步采用行为操作对数据的实现同步,频率非常高,对服务器同步的压力非常大,能保证数据不丢失.

RDB和AOF同步的区别?

1.RDB属于全量同步(定时同步)

优点:同步效率非常高 缺点:数据可能会丢失

2.AOF属于增量同步 有点偏向实时

优点:同步效率稍稍有些低,最多只会丢失1s中的数据

平衡点:既要求效率高,数据不丢失,肯定使用AOFd everysec

Redis六种淘汰策略? 设置Redis 内存大小的限制,我们可以设置maxmemory 比如:maxmemory 300mb

noeviction:当内存使用达到阈值的时候,执行命令直接报错

allkeys-lru:在所有的key中,优先移除最近未使用的key。(推荐)

volatile-lru:在设置了过期时间的键空间中,优先移除最近未使用的key。

allkeys-random:在所有的key中,随机移除某个key。

volatile-random:在设置了过期时间的键空间中,随机移除某个key。

volatile-ttl:在设置了过期时间的键空间中,具有更早过期时间的key优先移除。

更改持久化机制为AOF

187e5f0eeada85470d5250d854622a54.png

设置内存淘汰机制为allkeys-lru:在所有的key中,优先移除最近未使用的key。(推荐)

524430b29a3811d38794794c82725414.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值