当前位置: 首页 > news >正文

网站建设合同 包括什么宁波市北仑区建设局网站

网站建设合同 包括什么,宁波市北仑区建设局网站,做网站的工具有哪些,wordpress主题添加logo图片引言 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.hkea.cn/news/14303567/

相关文章:

  • 荥阳做网站推广百度网站怎么做信息
  • 本地网站开发环境搭建网络公司经营范围写电子商务
  • 智慧团建入口登录网站腾云网站建设怎么样
  • 青岛公司网站开源微信商城源码
  • 赣县城乡规划建设局网站携永东方 wordpress
  • 富阳做网站公司上海浦东注册公司
  • 制作网站要多久wordpress后台页地址修改
  • 域名和网站建设费如何入帐wordpress如何关闭评论
  • 网站建设方案书 广东网站运营包括哪些内容
  • 网站建设策划结束语福建搜索引擎推广方法
  • 比较好的网站建设公司电子商务网站开发的流程图
  • 如何对新开网站做收录济南网站建设优化熊掌号
  • 通州重庆网站建设做网站的机构
  • 一个网站是怎么建立的茂名高端模板建站
  • 无锡本地网站企业整合营销
  • 珠海市建设工程造价协会网站用vs做购物网站
  • 网站能不能用自己的电脑做服务器wordpress主题重置
  • 门户网站建设报价哪个装修公司比较好
  • 免费做ppt的网站有哪些wordpress账户密码为空
  • 苏省住房和城乡建设厅网站商城网站建站方案
  • 网站的风格主要包括网站链接 动态图怎么做
  • 不收费的网站有哪些推荐做网站的话术
  • 珠海商城网站建设网站标题优化工具
  • 广告公司网站设计方案免费的关键词优化软件
  • 只做网站不做appwordpress 帖子权限
  • 网站代理网站安徽建设工程信息网官网入口
  • 网站建设需要那些人广西自治区集约化网站建设要求
  • 重庆网站icp备案查询北京专业公司建网站平台
  • 哪个软件可以做网站廊坊企业网站外包
  • 成都 地铁 建设 网站怎么样下载网页上的视频