redis内存淘汰机制有哪些


本文摘自PHP中文网,作者hzc,侵删。

redis内存淘汰机制有:1、noeviction,当内存使用达到阈值的时候,所有引起申请内存的命令会报错;2、allkeys-lru,在主键空间中,优先移除最近未使用的key;3、allkeys-random,在主键空间中,随机移除。

内存淘汰策略

内存淘汰只是 Redis 提供的一个功能,为了更好地实现这个功能,必须为不同的应用场景提供不同的策略,内存淘汰策略讲的是为实现内存淘汰我们具体怎么做,要解决的问题包括淘汰键空间如何选择?在键空间中淘汰键如何选择?

Redis 提供了下面几种淘汰策略供用户选择,其中默认的策略为 noeviction 策略:

  • noeviction:当内存使用达到阈值的时候,所有引起申请内存的命令会报错

  • allkeys-lru:在主键空间中,优先移除最近未使用的

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

  • keyallkeys-random:在主键空间中,随机移除某个

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

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

这里补充一下主键空间和设置了过期时间的键空间,举个例子,假设我们有一批键存储在Redis中,则有那么一个哈希表用于存储这批键及其值,如果这批键中有一部分设置了过期时间,那么这批键还会被存储到另外一个哈希表中,这个哈希表中的值对应的是键被设置的过期时间。设置了过期时间的键空间为主键空间的子集。

推荐教程: 《Redis教程》

以上就是redis内存淘汰机制有哪些的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

详细了解Redis中的事务

Redis消息队列如何防止数据丢失

Redis使用要注意什么

Redis有哪些优缺点,使用场景有哪些

Redis集群怎么防止脑裂

Redis配置远程连接的方法

Redis支持哪些数据结构

centos7.6安装mysql和Redis的教程

Redis持久化过程的监控及优化

安装Redis后怎么配置环境变量

更多相关阅读请进入《Redis》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...