Redis有哪几种数据失效策略

redis中的数据失效策略有几种,分别是什么?

LRU(Least Recently Used) - 最近访问:最近访问时间最长的数据,如:有数据a、b、c。a数据最近访问时间是30秒前,b数据最近访问时间是20秒前,c数据最近访问时间是40秒前,删除c数据。
LFU(Least Frequently Used) - 访问频率:单位周期内,访问频率计算。如:有数据a、b、c。a数据在10秒内有20次访问,b数据在3600秒(1小时)内有100次访问,c数据在24小时内有1000次访问,删除访问频率最低的数据。删除c数据。

配置策略:
最大内存 - 默认环境下,最大内存是16G以内的内存,不需要设置。高于此范围内存需要设置。设置的单位是字节。
淘汰策略 -

volatile-lru -> Evict using approximated LRU among the keys with an expire set.

使用LRU近似算法,在有expire有效期的数据集合中删除数据。

allkeys-lru -> Evict any key using approximated LRU.

在所有的数据集合中,使用LRU算法删除数据。

volatile-lfu -> Evict using approximated LFU among the keys with an expire set.

使用LFU算法,在有expire有效期的数据集合中。

allkeys-lfu -> Evict any key using approximated LFU.

使用LFU算法,在所有数据范围内。

volatile-random -> Remove a random key among the ones with an expire set.

在有expire有效期的数据集合中,随机删除数据。

allkeys-random -> Remove a random key, any key.

在所有数据范围内,随机删除数据。

volatile-ttl -> Remove the key with the nearest expire time (minor TTL)

在有expire有效期的数据集合中,找剩余有效时间最短的数据删除。

noeviction -> Don’t evict anything, just return an error on write operations.

不删除任何数据。默认策略

内存扩容 - 垂直扩容,RAID方式加内存。成本太高。
集群 - 水平扩容,增加集群节点。
淘汰策略 - 不推荐使用。

Redis访问效率提升:
客户端路由 - 通过自定义代码,实现路由策略,对读写的数据的key做路由计算,决定当前数据读写操作的所在节点。效率最高。
代理路由 - 使用现成的路由算法工具,实现key的路由计算。
集群 - 读写操作,发送到集群中,由集群决定读写所在节点。CRC16算法。市场占有度最高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值