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

news2024/11/24 3:42:44

目录

一、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/539773.html

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

相关文章

【Python 统计学习】零基础也能轻松掌握的学习路线与参考资料

Python 作为一种功能强大而且易于使用的编程语言,被广泛应用于数据科学和统计学习领域。如果你想要在这个领域有所成就,下面是 Python 统计学习学习路线的建议。 Python 基础知识 如果你还没有 Python 的基础知识,那么首先需要学习 Python 的…

博客园美化教程

博客园美化教程 一、进入管理>设置>勾选下面的JS权限,然后填写一下开通的理由等待管理员进行审核通过。 二、选择下面的博客皮肤 三、贴入以下CSS代码到自定义,并禁用CSS默认模板 *,.Cal{padding:0}::-moz-selection{background:#807dd4;color:#…

chatgpt-验证手机出错-您的帐户被标记为可能存在滥用行为

一、问题 问题显示:Your account was flagged for potential abuse. If you feel this is an error,please contact us at help.openai.com(您的帐户被标记为可能存在滥用行为,如果您认为这是一个错误,请联系我们 help.openai.co…

7.机器学习诊断法

怎样评估机器学习算法的性能? 利用机器学习诊断法来评估机器学习算法的性能。诊断法是一种测试法,通过这种测试能够了解算法在哪里出了问题,这也能够告诉我们要想改进一种算法的效果、什么样的尝试才是有意义的。 7.1 评估假设 评价算法学…

【数据结构】树,二叉树,满二叉树,完全二叉树的定义和二叉树的基本操作

🎊专栏【数据结构】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【勋章】 大一同学小吉,欢迎并且感谢大家指出我的问题🥰 目录 ⭐树 🏳️‍🌈定义 🏳️‍…

祝贺!Coremail连续4年入选中国网络安全市场全景图

5月16日,数说安全正式发布《2023年中国网络安全市场全景图》(以下简称“全景图”)。作为国内头部电子邮件产品与解决方案提供商,Coremail凭借着出色的产品技术和服务,连续4年入选“邮件安全”领域,体现行业…

计算机视觉 day 93 学习像素级膨胀滤波的高效率单图像去噪

学习像素级膨胀滤波的高效率单图像去噪 1 Introduction3 Methodology3.1 逐像素图像滤波解调3.2 可学习像素级膨胀滤波Kernel prediction network(核预测网络)Multi-dilated image filtering and fusion(多扩张图像滤波与融合) 3.…

基础篇007. 串行通信(一)--阻塞方式发送接收

目录 1. 串行通信 1.1 串行通信概述 1.2 串行通信协议 2. 实验任务 3. 硬件原理 4. 利用STM32CubeMX创建MDK工程 4.1 STM32CubeMX工程创建 4.2 配置调试方式 4.4 配置GPIO 4.5 配置串口参数 4.6 配置时钟 4.7 项目配置: 4.8 串口初始化程序说明 5. 串行…

机器学习笔记 - 利用自动编码器神经网络构建图像去噪器

一、概述 传统的图像噪声去除主要是基于各种滤波器,但它们不是特定于数据的,因此可能会损失很多图像的细节,或者噪声去除的效果不是很理想。基于神经网络的自动编码器可以用于学习数据集的噪声去除滤波器。 关于自动编码器的介绍,可以参考下面的链接。https://skydance.blo…

Windows Server 2019 中文版、英文版下载 (updated May 2023)

Windows Server 2019 Version 1809,2023 年 5 月更新 请访问原文链接:https://sysin.org/blog/windows-server-2019/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 本站将不定期发布官方原版风格月度更…

nest笔记十一:一个完整的nestjs示例工程(upgrade)

概述 链接:upgrade 相关文章列表 nestjs系列笔记 示例工程说明 这个工程是我使用nestjs多个项目后,总结出来的模板。这是一个完整的工程,使用了yaml做为配置,使用了log4js和redis和typeorm,sawgger,自…

ChatGPT热门资料汇总,绝对不割韭菜

前言 ChatGPT 的出现,AI圈子一下就热闹起来了,各个公司争先恐后地出自己的产品,百度的文心一言、谷歌的Bard、阿里的通义千问等等,有很多人借此机会已经赚到百万,很多卖课搞培训的都是互为合伙人,大家都懂…

243亿美元营收背后,百年龙头的汽车生态砝码

伴随着更为显著的全球汽车新能源化、智能化趋势,汽车产业必将迎来更多新机遇。 一方面,主机厂为保持竞争优势、适应客户多元化需求,不断加快汽车更迭速度,为汽车产业带来了新的市场机遇。另一方面,随着人工智能、云计…

2023企业数智化财务创新峰会 · 成都站圆满举办!

5月17日,「智能会计 价值财务」2023企业数智化财务创新峰会巡回来至天府,川大商学院权威教授领衔分享、大型企业财务先锋详解财务数智化领先实践、毕马威资深专家现场解读财务创新趋势与典型案例,与线上线下数千人一同见证“智能会计”新时代…

网络请求--http请求学习详解

写在前面: 文章目录 http简介http报文格式请求样例响应样例 起始头格式 常见请求方法GETPOSTRESTful风格 头部字段Content-Type Https http简介 http:超文本传输协议 是一种无状态,无连接,以应答式的协议,可使用扩展…

力扣sql中等篇练习(二十三)

力扣sql中等篇练习(二十三) 1 统计实验的数量 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 # 有可能数据本身就不全,就需要自行创建临时表 WITH T as (SELECT Android p1,Reading e1UNIONSELECT Android p1,Sports e1UNIONSELECT Android p1,Prog…

最简单配置jenkins容器使用宿主机的docker方法

构建镜像和发布镜像到harbor都需要使用到docker命令。而在Jenkins容器内部安装Docker官方推荐直接采用宿主机带的Docker即可 设置Jenkins容器使用宿主机Docker 设置宿主机docker.sock权限 chown root:root /var/run/docker.sock chmod orw /var/run/docker.sock 添加数据卷 v…

215.数组中第 k 个最大的元素。

解题思路: 利用快排的思想,不断地将数组分成若干部分,缩小查找范围,最终找到第 k 大的元素。 1、首先,对数组进行快速排序,使得数组从大到小排序,然后返回排序后的第 k 个元素即可。 2、在快排…

关于window.print打印分页功能

平常window.print分页一般打印时用到page-break-after:always; 打印的样式设置在 <style type"text/css" media"print"></style>进行设置 但现在我想动态打印分页&#xff0c;即内容一页时打印一页&#xff0c;内容两页时打印两页。。。 现…

HBase 写入数据(Scala代码)

代码如下》》 package Flink_HBase_APLimport org.apache.hadoop.hbase.{HBaseConfiguration, TableName} import org.apache.hadoop.hbase.client.{ConnectionFactory, Put} import org.apache.hadoop.hbase.util.Bytesobject this_one {def main(args: Array[String]): Unit…