内存淘汰机制与算法

在本文开始之前,我们先要明白:在 Redis 中,过期策略和内存淘汰策略两个完全不同的概念,但很多人会把两者搞混。

首先,Redis 过期策略指的是 Redis 使用那种策略,来删除已经过期的键值对;而 Redis 内存淘汰机制指的是,当 Redis 运行内存已经超过 Redis 设置的最大内存之后,将采用什么策略来删除符合条件的键值对,以此来保障 Redis 高效的运行。

过期策略前面的文章,我们已经详细地讲过了,本文我们重点来看 Redis 的内存淘汰机制。

Redis 最大运行内存

只有在 Redis 的运行内存达到了某个阀值,才会触发内存淘汰机制,这个阀值就是我们设置的最大运行内存,此值在 Redis 的配置文件中可以找到,配置项为 maxmemory。

内存淘汰执行流程,如下图所示:

b9ab9e10-6900-11ea-95ab-8f8eaf73a78b

查询最大运行内存

我们可以使用命令 config get maxmemory 来查看设置的最大运行内存,命令如下:

127.0.0.1:6379> config get maxmemory
1) "maxmemory"
2) "0"

我们发现此值竟然是 0,这是 64 位操作系统默认的值,当 maxmemory 为 0 时,表示没有内存大小限制。

小贴士:32 位

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/545454.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java基础结构语句和IDEA使用和数组

Java基础结构语句和IDEA和数组基本类型和引用类型static第一章:结构语句1.1.1三元运算符1.1.2switch语句1.1.3do-while循环第二章:IDEA2.1_IDEA的项目结构2.2_IDEA的使用(代码及时自动保存)(1)代码快捷方式…

java程序员个人能力介绍_Java操作员能力问题

java程序员个人能力介绍Java Operators Aptitude Questions and Answers: This section provides you Java Operators related Aptitude Questions and Answers with multiple choices. Here, You will get solution and explanation of each question. Java操作员能力倾向问题…

【新年巨献】计算机类国际英文EI(JA)期刊限量推荐

【2015年新年巨献】计算机、电子类国际英文EI(JA)期刊限量推荐EI源刊(JA) : 计算机、软件、网络、通信工程及电子工程等相关议题征稿与国际学术期刊社合作,特推出EI源刊正刊论文征稿,本次征稿期刊均为最新E…

拷贝数据库

通过IE使用ORACLE数据库:http://localhost:5560/isqlplus通过IE管理ORACLE数据库:http://localhost:1158/em查看oracle数据库的三类文件:数据文件,日志文件,控制文件用SYS登陆,角色给sysdba查看数据文件&am…

游标迭代器(过滤器)——Scan

一个问题引发的「血案」 曾经发生过这样一件事,我们的 Redis 服务器存储了海量的数据,其中登录用户信息是以 user_token_id 的形式存储的。运营人员想要当前所有的用户登录信息,然后悲剧就发生了:因为我们的工程师使用了 keys user_token_* 来查询对应的用户,结果导致 Re…

同时对view延时执行两个动画时候的现象

同时对view延时执行两个动画时候的现象 对于view延时执行了两个动画后,会将第一个动画效果终止了,直接在第一个动画的view的最后的状态上接执行后续的动画效果,也就是说,我们可以利用这个特性来写分段动画效果,比如&am…

子网掩码+ip地址_C ++程序使用位掩码查找唯一编号

子网掩码ip地址Problem statement: C Program to find unique number in an array of n numbers in which except one (unique number) rest all are present thrice. 问题陈述: C 程序在n个数字的数组中查找唯一数字,其中除一个(唯一数字)外其余所有其余…

消息队列的其他实现方式

在 Redis 5.0 之前消息队列的实现方式有很多种,比较常见的除了我们上文介绍的发布订阅模式,还有两种:List 和 ZSet 的实现方式。 List 和 ZSet 的方式解决了发布订阅模式不能持久化的问题,但这两种方式也有自己的缺点,接下来我们一起来了解一下,先从 List 实现消息队列的…

怎样使用orapwd新建口令文件

orapwd是oracle提供的创建口令文件的命令&#xff0c;如果口令文件不见了可以用这个命令重新创建。下面是orapwd命令的一些解释。D:\oracle\ora92\database>orapwdUsage: orapwd file<fname> password<password> entries<users>wherefile - name of passw…

死锁 预防死锁避免死锁_死锁和处理死锁的方法

死锁 预防死锁避免死锁僵局 (Deadlock) In the multiprogramming operating system, there are a number of processing which fights for a finite number of resources and sometimes waiting process never gets a chance to change its state because the resources for wh…

消息队列——发布订阅模式

在 Redis 中提供了专门的类型:Publisher(发布者)和 Subscriber(订阅者)来实现消息队列。 在文章开始之前,先来介绍消息队列中有几个基础概念,以便大家更好的理解本文的内容。 首先,发布消息的叫做发布方或发布者,也就是消息的生产者,而接收消息的叫做消息的订阅方或…

eclipse安装jetty插件

2019独角兽企业重金招聘Python工程师标准>>> 1 eclipse安装jetty插件 由于项目需要&#xff0c;eclipse需要安装jetty插件&#xff0c;从百度搜索的结果基本都是从http://run-jetty-run.googlecode.com/svn/trunk/updatesite获取jetty&#xff0c;国内的网络根本无法…

实战:分布式锁详解与代码

什么是锁? 锁是一种常用的并发控制机制,用于保证一项资源在任何时候只能被一个线程使用,如果其他线程也要使用同样的资源,必须排队等待上一个线程使用完。 锁的示意图,如下所示: 什么是分布式锁? 上面说的锁指的是程序级别的锁,例如 Java 语言中的 synchronized 和 …

编译原理第二章

编译原理第二章2.3_句型的分析&#xff08;1&#xff09;语法树和二义性&#xff08;2&#xff09;短语和句柄&#xff08;规约问题&#xff09;2.5_文法和语言的Chomsky分类&#xff08;1&#xff09;0型文法&#xff08;2&#xff09;1型文法&#xff08;3&#xff09;2型文法…

微软职位内部推荐-Sr. SW Engineer for Azure Networking

微软近期Open的职位:Senior SW EngineerThe world is moving to cloud computing. Microsoft is betting Windows Azure as our cloud computing platform. Important steps have already been taken to virtualize storage and computing through software, increasing agilit…

对称密码和非对称密码体系_密码学类型:对称和不对称

对称密码和非对称密码体系Cryptography is a study of different techniques used for encryption and decryption of the text to convert the plain text into ciphertext and vice-versa. There are many different cryptographic techniques and algorithm which have been…

servlet 和 struts2 同时使用 以及 使用struts2标签库时报错

做网页的时候 想让 servlet 和 struts 都有效。但是在过滤的时候出了点问题&#xff1a;就是 过滤器的*.action 的时候 struts 标签库失效的问题我觉得以下是个不错的 解决方案&#xff1a;转载&#xff1a;http://blog.sina.cn/dpool/blog/s/blog_7d681d490100zbwf.htmlThe St…

编译原理第三章

编译原理第三章3.1_正规文法和状态转换图&#xff08;1&#xff09;构造状态转换图&#xff08;2&#xff09;状态矩阵3.2_有限自动机3.2.1_确定的有限自动机DFA3.2.2_非确定的有限自动机NFA3.3_NFA转换为DFA&#xff08;NFA确定化&#xff09;3.3.1_无ε动作的NFA确定化3.3.2_…

消息队列终极解决方案——Stream(下)

在开始使用消息分组之前,我们必须手动创建分组才行,以下是几个和 Stream 分组有关的命令,我们先来学习一下它的使用。 消息分组命令 创建消费者群组 127.0.0.1:6379> xgroup create mq group1 0-0 OK相关语法: xgroup create stream-key group-key ID其中: mq 为…

ftp上传和下载命令

2019独角兽企业重金招聘Python工程师标准>>> 假设有一目标FTP服务器&#xff0c;IP&#xff1a;123.123.123.123&#xff0c;用户名&#xff1a;ftpname 密码&#xff1a;ftppwd。当前要通过命令行将D:\ftpin目录下的file.doc上传到目标服务器&#xff0c;从服务器下…