Java --- redis的缓存淘汰策略

news2024/11/25 14:29:51

目录

一、redis内存查看与设置

 二、redis的数据删除方式

三、redis缓存淘汰策略 

一、redis内存查看与设置

查看redis最大占用内存:

 redis默认内存使用:

不设置最大内存大小或设置为0,在64位操作系统下不限制内存大小,32位操作系统最多使用3G

一般生成上如何配置:

一般推荐redis设置内存为最大物理内存的四分之三。

修改redis内存设置:

1、通过配置文件修改

2、通过命令修改(重启后失效)

 查看redis内存使用情况命令:

 超出redis设置内存最大值:

 二、redis的数据删除方式

三种删除策略:

1、立即删除:对CPU消耗极大,用处理器性能换取存储空间。

2、惰性删除:对memory不友好,用存储空间换取处理器性能。

3、定期删除:定期抽样key,判断是否过期,但会有遗漏的过期key。

三、redis缓存淘汰策略 

lru和lfu算法的区别:

LRU:最近最少使用页面置换算法,淘汰最长时间未被使用的页面,看页面最后一次被使用到发生调度的时间长短,首先淘汰最长未被使用的页面。

LFU:最近最不常用页面置换算法,淘汰一定时期内被访问次数最少的页,看一定时间段内被使用的频率,淘汰一定时间内被访问次数最少的页。

淘汰策略有那些:

1、noeviction:不会驱逐任何key,即使内存达到上限也不进行置换,所有能引起内存增加的命令都会返回error。

2、allkeys-lfu:对所有key使用LFU算法进行删除

3、allkeys-lru:对所有key使用LRU算法进行删除,优先删除掉最近最不常用的key,用以保存新数据。

4、volatile-lru:对所有设置了过期时间的key使用LRU算法进行删除。

5、allkeys-random:对所有key随机删除

6、volatile-random:对所有设置了过期时间的key随机删除

7、volatile-ttl:删除马上要过期的key

8、volatile-lfu:对所有设置了过期时间的key使用LFU算法进行删除。

选择策略:

1、在所有的key都是最近使用,那么就需要选择allkeys-lru进行置换最近最不经常使用的key,如果不确定使用哪种策略,推荐使用allkeys-lru。

2、如果所有key的访问概率都是差不多,那么可以选用allkeys-random策略去置换数据。

3、如果对数据有足够的了解,能够为key指定hint(通过expire/ttl指定),那么可以选择volatile-ttl进行置换。

修改策略:

1、使用config命令(重启服务后会失效)

2、直接redis.conf配置文件

配置建议:

1、避免存储bigkey

2、开启惰性淘汰,lazyfree-lazy-eviction=yes

 

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

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

相关文章

Linux系统编程(四)—— 进程基本知识

一、进程标识符pid 1、pid的类型:pid_t pid 是有符号的16位整型数,也就是说可以同时进行三万多进程。 2、命令:ps ps命令用于报告当前进程的信息: ps命令有着不同的组合,可以显示进程不同的内容: &…

夜天之书 #83 Web API 的开发工具和平台

上一篇文章《Web API 简介》的落脚点是 Web API 的体验。 Web API 作为许多软件的第一道门面,提升其体验的努力从来没有停止过。今天,围绕 Web API 的开发体验和使用体验,已经成长出一个庞大的软件生态。本文以常用的 Web API 开发工具和平台…

什么是 Java中的零拷贝

什么是零拷贝 WIKI中对其有如下定义: “Zero-copy” describes computer operations in which the CPU does not perform the task of copying data from one memory area to another. 从WIKI的定义中,我们看到“零拷贝”是指计算机操作的过程中&#x…

数据库迁移 | 拥抱国产化数据库openGauss

Squids DBMotion再添新库同步能力,本期增加了对openGauss数据库的同步支持。 openGauss数据库是一款开源关系型数据库管理系统,采用木兰宽松许可证v2发行。openGauss内核深度融合华为在数据库领域多年的经验,结合企业级场景需求,持…

PFTL101B 20KN 3BSE004203R1主要介绍ACS380 Modbus通讯功能

​ PFTL101B 20KN 3BSE004203R1ABB系统优化船舶性能、效率和可持续性 根据经合组织的一份报告,货物和人员的海上运输是全球经济活动的重要驱动力,到2050年将增加两倍。据国际海事组织(IMO)称,这一增长将导致该行业的温…

Hi3861 移植 LVGL

一、前言 给 Hi3861 适配了硬件 spi ,master 模式下最高 spi 速率可以达到 40M,用来驱动 oled 屏幕。 适配过程遇到了一个芯片bug,困扰了很久,clk 管脚驱动能力差,需要外接一个上拉电阻才能正常运行。适配完成移植 lvg…

k8s系列(五)——资源控制器

k8s系列五——资源控制器 控制器的必要性 自主式Pod对象由调度器调度到目标工作节点后即由相应节点上的kubelet负责监控其容器的存活状态,容器主进程崩溃后,kubelet能够自动重启相应的容器。但对出现非主进程崩溃类的容器错误却无从感知,这…

阿里下放自动驾驶,汽车业务是个坑,或是时候探讨下一个乐视了

阿里发布公告指达摩院自动驾驶团队将全部并入菜鸟集团,虽然并没有说关闭自动驾驶业务,但是自动驾驶业务已不再是阿里看重的业务,导致如此结果在于当前汽车行业发生的重大变化。 一、传统汽车开始发力 今年4月份的新能源汽车企业销量排名数据显…

配置gitee ssh免密拉取代码-唯一客服系统文档中心

Gitee 我们的客服系统代码托管于Gitee私有仓库默认情况下只用于开发者自我代码管理,不对外公布。如果你也是放在私有仓库进行托管,可以如下配置免密操作。 部署公钥免密拉取代码 部署公钥允许以只读的方式访问仓库,主要用于仓库在生产服务器的…

即时通讯在线聊天APP开发解决方案

即时通讯是目前移动端最为流行的通讯方式,各种各样的即时通讯软件也层出不穷;服务提供商也提供了越来越丰富的通讯服务功能,打造一个实时通信系统,允许两人或多人使用网络实时的传递文字消息、文件、语音与视频交流。今天河北领行…

Excel中时间戳与标准日期格式的互相转换

背景 在excel中将13位毫秒级别的时间戳转换为标准的日期格式(yyyy-mm-dd hh:mm:ss.000)&#xff0c;使用如下模板 TEXT(<source_cell>/1000/8640070*36519,"yyyy-mm-dd hh:mm:ss.000") 在excel中将10位秒级别的时间戳转换为标准的日期格式(yyyy-mm-dd hh:mm:ss…

每日学习记录

GDB调试 首先是安装&#xff0c;以及普通的一些命令&#xff0c;重点是如何打断点 调试多进程和多线程 不同的gdb版本可能不是很支持&#xff0c;需要用比较新的版本>8.3 多进程 fork()函数创建一个一模一样的进程正常来说&#xff0c;同一个执行文件&#xff0c;gdb只…

使用 CNN 进行面部情绪识别

面部表情是人类之间交流的重要方式。 在人工智能研究中&#xff0c;深度学习技术已成为增强人机交互的强大工具。心理学中面部表情和情绪的分析和评估涉及评估预测个人或群体情绪的决定。 本研究旨在开发一种能够使用卷积神经网络&#xff08;CNN&#xff09;算法和特征提取技术…

【Java每日一练】总目录(2023.3.11~5.18)共69篇

2023.3.11~2023.5.18 连载两个多月共69篇&#xff0c;暂停更 Java 2023.05 2023.5.11-2023.5.18 20230518 1. 移除链表元素 &#x1f31f; 2. 跳跃游戏 II &#x1f31f;&#x1f31f; 3. 复原 IP 地址 &#x1f31f;&#x1f31f; 20230517 1. 存在重复元素 &#x…

chatgpt赋能Python-pycharm添加库

Pycharm添加库 – 提高Python编程效率的绝佳利器 Pycharm是一款强大的Python IDE&#xff0c;为广大Python开发人员提供了高度集成化的开发环境。通过Pycharm&#xff0c;我们可以充分利用各种强大的开发工具来简化开发流程&#xff0c;提高编程效率。其中一项重要的功能就是添…

SciPy库(一)常数与特殊函数与插值

一、概述 SciPy是一个开源的Python科学计算库&#xff0c;它建立在NumPy之上&#xff0c;提供了许多有用的科学计算功能。SciPy包括各种科学计算模块&#xff0c;如线性代数、优化、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理等。SciPy库的主要特点是其高效性和…

突然放大,Midjourney 来中国了!

突然放大&#xff0c;Midjourney 来中国了&#xff01; 一、 Midjourney内测版本的推出 Midjourney&#xff0c;一款新颖的 AI 视觉艺术平台&#xff0c;近日在中国开放了内测版。这个内测版本在 QQ 频道上进行&#xff0c;每周一和周五的 18:00 开放入口&#xff0c;人数一旦满…

家里宽带申请公网 IP(二)

来源&#xff1a;公众号【鱼鹰谈单片机】 作者&#xff1a;鱼鹰Osprey ID &#xff1a;emOsprey 在之前的《家里宽带搞个服务器&#xff0c;YYDS&#xff08;一&#xff09;》笔记中大概介绍了&#xff0c;因为现有的 IPv4 的地址资源枯竭&#xff0c;导致大部分网络都是局域…

中国系统正式发声!所有用户永久免费,网友:再见了,CentOS!

点关注公众号&#xff0c;回复“1024”获取2TB学习资源&#xff01; 如果说&#xff1a;没有操作系统会怎么样&#xff1f; 对于个PC来说&#xff0c;无论是台式机、笔记本、平板等等&#xff0c;一切都变的一无是处&#xff0c;这些硬件对我们来说&#xff0c;和一堆废铁没什么…

手把手写一个简单IOC(基于XML配置文件)

目录 创建模块 准备测试阶段测试用的Bean 编写ApplicationContext接口 编写ClassPathXmlApplicationContext 确定采用Map集合存储Bean 解析配置文件实例化所有Bean 解析配置文件实例化所有Bean 测试阶段1(实例化bean) Bean的属性赋值 测试阶段2(为bean对象进行赋值)…