当前位置: 首页 > news >正文 打码赚钱河南网站建设优化技术 news 2025/11/6 12:14:57 打码赚钱,河南网站建设优化技术,网站建设 后端前端,网站设计岗位做哪些事情引言 Redis 缓存使用内存来保存数据#xff0c;随着需要缓存的数据量越来越大#xff0c;有限的缓存空间不可避免地会被写满。此时#xff0c;应该怎么办#xff1f;本篇文章接下来就来聊聊缓存满了之后的数据淘汰机制。 值得注意的是#xff0c;在 Redis 中 过期策略 和…引言 Redis 缓存使用内存来保存数据随着需要缓存的数据量越来越大有限的缓存空间不可避免地会被写满。此时应该怎么办本篇文章接下来就来聊聊缓存满了之后的数据淘汰机制。 值得注意的是在 Redis 中 过期策略 和 内存淘汰策略 是两个完全不同的概念。Redis 过期策略指的是 Redis 使用哪种策略来删除已经过期的键值对而内存淘汰机制指的是当 Redis 运行内存已经超过设置的最大内存之后将采用什么策略来删除符合条件的键值对以此来保障 Redis 高效的运行。 Redis 最大运行内存 只有在 Redis 的运行内存达到了某个阀值才会触发内存淘汰机制这个阀值就是我们设置的最大运行内存此值在 Redis 的配置文件中可以找到配置项为 maxmemory。 内存淘汰执行流程如下图所示 查询最大运行内存 我们可以使用命令 config get maxmemory 来查看设置的最大运行内存命令如下 127.0.0.1:6379 config get maxmemory 1) maxmemory 2) 0我们发现此值竟然是 0这是 64 位操作系统默认的值当 maxmemory 为 0 时表示没有内存大小限制。 注意32 位操作系统默认的最大内存值是 3GB。 内存淘汰策略 查看 Redis 内存淘汰策略 我们可以使用 config get maxmemory-policy 命令来查看当前 Redis 的内存淘汰策略命令如下 127.0.0.1:6379 config get maxmemory-policy 1) maxmemory-policy 2) noeviction可以看出此 Redis 使用的是 noeviction 类型的内存淘汰机制它表示当运行内存超过最大设置内存时不淘汰任何数据但新增操作会报错。 内存淘汰策略分类 早期版本的 Redis 有以下 6 种淘汰策略 noeviction不淘汰任何数据当内存不足时新增操作会报错Redis 默认内存淘汰策略allkeys-lru淘汰整个键值中最久未使用的键值allkeys-random随机淘汰任意键值;volatile-lru淘汰所有设置了过期时间的键值中最久未使用的键值volatile-random随机淘汰设置了过期时间的任意键值volatile-ttl优先淘汰更早过期的键值。 在 Redis 4.0 版本中又新增了 2 种淘汰策略 volatile-lfu淘汰所有设置了过期时间的键值中最少使用的键值allkeys-lfu淘汰整个键值中最少使用的键值。 其中 allkeys-xxx 表示从所有的键值中淘汰数据而 volatile-xxx 表示从设置了过期键的键值中淘汰数据。 修改 Redis 内存淘汰策略 设置内存淘汰策略有两种方法这两种方法各有利弊需要使用者自己去权衡。 方式一通过“config set maxmemory-policy 策略”命令设置。它的优点是设置之后立即生效不需要重启 Redis 服务缺点是重启 Redis 之后设置就会失效。方式二通过修改 Redis 配置文件修改设置“maxmemory-policy 策略”它的优点是重启 Redis 服务后配置不会丢失缺点是必须重启 Redis 服务设置才能生效。 内存淘汰算法 从内存淘汰策略分类上我们可以得知除了随机删除和不删除之外主要有两种淘汰算法LRU 算法 和 LFU 算法。 LRU 算法 LRU 全称是 Least Recently Used 译为最近最少使用是一种常用的页面置换算法选择最近最久未使用的页面予以淘汰。 1. LRU 算法实现 LRU 算法需要基于链表结构链表中的元素按照操作顺序从前往后排列最新操作的键会被移动到表头当需要内存淘汰时只需要删除链表尾部的元素即可。 2. 近 LRU 算法 Redis 使用的是一种近似 LRU 算法目的是为了更好的节约内存它的实现方式是给现有的数据结构添加一个额外的字段用于记录此键值的最后一次访问时间Redis 内存淘汰时会使用随机采样的方式来淘汰数据它是随机取 5 个值此值可配置然后淘汰最久没有使用的那个。 3. LRU 算法缺点 LRU 算法有一个缺点比如说很久没有使用的一个键值如果最近被访问了一次那么它就不会被淘汰即使它是使用次数最少的缓存那它也不会被淘汰因此在 Redis 4.0 之后引入了 LFU 算法下面我们一起来看。 LFU 算法 LFU 全称是 Least Frequently Used 翻译为最不常用的最不常用的算法是根据总访问次数来淘汰数据的它的核心思想是“如果数据过去被访问多次那么将来被访问的频率也更高”。 LFU 解决了偶尔被访问一次之后数据就不会被淘汰的问题相比于 LRU 算法也更合理一些。 在 Redis 中每个对象头中记录着 LFU 的信息源码如下 typedef struct redisObject {unsigned type:4;unsigned encoding:4;unsigned lru:LRU_BITS; /* LRU time (relative to global lru_clock) or* LFU data (least significant 8 bits frequency* and most significant 16 bits access time). */int refcount;void *ptr; } robj;在 Redis 中 LFU 存储分为两部分16 bit 的 ldtlast decrement time和 8 bit 的 logclogistic counter。 logc 是用来存储访问频次8 bit 能表示的最大整数值为 255它的值越小表示使用频率越低越容易淘汰ldt 是用来存储上一次 logc 的更新时间。 总结 综上所述我们了解到Redis 内存淘汰策略和过期回收策略是完全不同的概念内存淘汰策略是解决 Redis 运行内存过大的问题的通过与 maxmemory 比较决定要不要淘汰数据根据 maxmemory-policy 参数决定使用何种淘汰策略在 Redis 4.0 之后已经有 8 种 淘汰策略了默认的策略是 noeviction 当内存超出时不淘汰任何键值只是新增操作会报错。 文章转载自: http://www.morning.xnyfn.cn.gov.cn.xnyfn.cn http://www.morning.gmplp.cn.gov.cn.gmplp.cn http://www.morning.mcmpq.cn.gov.cn.mcmpq.cn http://www.morning.fzlk.cn.gov.cn.fzlk.cn http://www.morning.mkygc.cn.gov.cn.mkygc.cn http://www.morning.ljdtn.cn.gov.cn.ljdtn.cn http://www.morning.kcxtz.cn.gov.cn.kcxtz.cn http://www.morning.ffbl.cn.gov.cn.ffbl.cn http://www.morning.kycxb.cn.gov.cn.kycxb.cn http://www.morning.smnxr.cn.gov.cn.smnxr.cn http://www.morning.ctwwq.cn.gov.cn.ctwwq.cn http://www.morning.nqyfm.cn.gov.cn.nqyfm.cn http://www.morning.zmlnp.cn.gov.cn.zmlnp.cn http://www.morning.plpqf.cn.gov.cn.plpqf.cn http://www.morning.qrpdk.cn.gov.cn.qrpdk.cn http://www.morning.pcgmw.cn.gov.cn.pcgmw.cn http://www.morning.rqlbp.cn.gov.cn.rqlbp.cn http://www.morning.jhxtm.cn.gov.cn.jhxtm.cn http://www.morning.dhpjq.cn.gov.cn.dhpjq.cn http://www.morning.spqbp.cn.gov.cn.spqbp.cn http://www.morning.lhxdq.cn.gov.cn.lhxdq.cn http://www.morning.whclz.cn.gov.cn.whclz.cn http://www.morning.rylr.cn.gov.cn.rylr.cn http://www.morning.gwmjy.cn.gov.cn.gwmjy.cn http://www.morning.rkhhl.cn.gov.cn.rkhhl.cn http://www.morning.bbmx.cn.gov.cn.bbmx.cn http://www.morning.dygqq.cn.gov.cn.dygqq.cn http://www.morning.htrzp.cn.gov.cn.htrzp.cn http://www.morning.fjgwg.cn.gov.cn.fjgwg.cn http://www.morning.dpppx.cn.gov.cn.dpppx.cn http://www.morning.mqxzh.cn.gov.cn.mqxzh.cn http://www.morning.wqgr.cn.gov.cn.wqgr.cn http://www.morning.xxlz.cn.gov.cn.xxlz.cn http://www.morning.kqcqr.cn.gov.cn.kqcqr.cn http://www.morning.kmwsz.cn.gov.cn.kmwsz.cn http://www.morning.mlnzx.cn.gov.cn.mlnzx.cn http://www.morning.xfxnq.cn.gov.cn.xfxnq.cn http://www.morning.ldqzz.cn.gov.cn.ldqzz.cn http://www.morning.dxqfh.cn.gov.cn.dxqfh.cn http://www.morning.bqxxq.cn.gov.cn.bqxxq.cn http://www.morning.wctqc.cn.gov.cn.wctqc.cn http://www.morning.qyrnp.cn.gov.cn.qyrnp.cn http://www.morning.trqhd.cn.gov.cn.trqhd.cn http://www.morning.gxfpk.cn.gov.cn.gxfpk.cn http://www.morning.rxkq.cn.gov.cn.rxkq.cn http://www.morning.pwdmz.cn.gov.cn.pwdmz.cn http://www.morning.ldhbs.cn.gov.cn.ldhbs.cn http://www.morning.jcrfm.cn.gov.cn.jcrfm.cn http://www.morning.jbfjp.cn.gov.cn.jbfjp.cn http://www.morning.tnthd.cn.gov.cn.tnthd.cn http://www.morning.beiyishengxin.cn.gov.cn.beiyishengxin.cn http://www.morning.fktlr.cn.gov.cn.fktlr.cn http://www.morning.zylzk.cn.gov.cn.zylzk.cn http://www.morning.tsdqr.cn.gov.cn.tsdqr.cn http://www.morning.dqkrf.cn.gov.cn.dqkrf.cn http://www.morning.cfhwn.cn.gov.cn.cfhwn.cn http://www.morning.rtjhw.cn.gov.cn.rtjhw.cn http://www.morning.cyysq.cn.gov.cn.cyysq.cn http://www.morning.qwbht.cn.gov.cn.qwbht.cn http://www.morning.wdqhg.cn.gov.cn.wdqhg.cn http://www.morning.gkdhf.cn.gov.cn.gkdhf.cn http://www.morning.lqgtx.cn.gov.cn.lqgtx.cn http://www.morning.zqdzg.cn.gov.cn.zqdzg.cn http://www.morning.xzqzd.cn.gov.cn.xzqzd.cn http://www.morning.nzwp.cn.gov.cn.nzwp.cn http://www.morning.ypwlb.cn.gov.cn.ypwlb.cn http://www.morning.fbmrz.cn.gov.cn.fbmrz.cn http://www.morning.gxhqt.cn.gov.cn.gxhqt.cn http://www.morning.tsdjj.cn.gov.cn.tsdjj.cn http://www.morning.qcymf.cn.gov.cn.qcymf.cn http://www.morning.jbztm.cn.gov.cn.jbztm.cn http://www.morning.gydth.cn.gov.cn.gydth.cn http://www.morning.fwmln.cn.gov.cn.fwmln.cn http://www.morning.tfei69.cn.gov.cn.tfei69.cn http://www.morning.lgmty.cn.gov.cn.lgmty.cn http://www.morning.i-bins.com.gov.cn.i-bins.com http://www.morning.tsqpd.cn.gov.cn.tsqpd.cn http://www.morning.ngcw.cn.gov.cn.ngcw.cn http://www.morning.rzpkt.cn.gov.cn.rzpkt.cn http://www.morning.ywgrr.cn.gov.cn.ywgrr.cn 查看全文 http://www.tj-hxxt.cn/news/282230.html 相关文章: 网页设计网站含义无锡网站 app 安徽网站建设电话广西住房及城乡建设厅网站 网站建设的前期开发网站建设总结 厦门市规划建设局网站购物网站案例 现在建网站可以赚钱吗成都 网站建设 域名空间网站怎么做怎样建立个人的网站 汕头市企业网站建设服务机构做产地证的网站 成品网站怎样建设双语网站用什么程序做 网站内容管理系统建设吉林省最新消息今天新增 网站建设公司石家庄网站建设教程 项目式 医疗设备响应式网站公司管理流程图大全 长沙cms模板建站丹东网站开发 vue做移动端网站与pc端有什么区别手机建设银行网站进不去 东莞公司建站哪个更便宜朝阳区建网站公司有帮云 网站开发总跳转至404页面wordpress获取文章自定义字段 网站模版网技校平面设计主要做什么 站长统计黄页网站下载大全wordpress 歌 工伤做实的那个网站正规手表回收网站 在工行网站上如何做现金理财用dw做网站的视频 网站建设 钱建设网站的意义作用是什么意思 机票特价网站建设哪个网站可以卖自己做的模型 在银行网站如何做理财风险评测阿里巴巴上做英文网站一年多少钱 单位建设网站硬件wordpress音乐盒 重庆网站服务器建筑工程发布网站 哈尔滨网站建设流程网站管理规章制度 jsp体育用品网站建设红蝶直播 安卓系统软件开发培训机构深圳seo网站推广方案 凡科建站模板物流炒货怎么做网站 如何建设网站简介网页制作教程 赵丰年 网站建设方案应急处置php网站转移