宿迁腾云网络公司

腾云网络 五年经验专注网站建设
  • 首页
  • 服务项目
    • 网站建设
    • 微信小程序
    • SEO优化
    • APP开发
  • 建站费用
  • 成功案例
    • 网站建设案例
    • 小程序案例
    • APP开发案例
    • SEO优化案例
  • 行业动态
    • 网站建设
    • SEO优化
    • 技术日志
  • 联系我们
    • 关于我们
首页 > 行业动态 > 网站建设 > 腾云网络教你设置Redis的LRU策略

腾云网络教你设置Redis的LRU策略

2019-09-08

概念

LRU(Least Recently Used)最近最少使用算法是众多置换算法中的一种。

maxmemory

Redis中有一个maxmemory概念,主要是为了将使用的内存限定在一个固定的大小。Redis用到的LRU 算法,是一种近似的LRU算法。

设置maxmemory

127.0.0.1:6379> CONFIG GET maxmemory
1) "maxmemory"
2) "0"
127.0.0.1:6379> CONFIG SET maxmemory 100MB
OK
127.0.0.1:6379> CONFIG GET maxmemory
1) "maxmemory"
2) "104857600"

注意,在64bit系统下,maxmemory设置为0表示不限制Redis内存使用,在32bit系统下,maxmemory隐式不能超过3GB。当Redis内存使用达到指定的限制时,就需要选择一个置换的策略。

置换策略

当Redis内存使用达到maxmemory时,需要选择设置好的maxmemory-policy进行对老数据的置换。

下面是可以选择的置换策略:

  1. noeviction: 不进行置换,表示即使内存达到上限也不进行置换,所有能引起内存增加的命令都会返回error

  2. allkeys-lru: 优先删除掉最近最不经常使用的key,用以保存新数据

  3. volatile-lru: 只从设置失效(expire set)的key中选择最近最不经常使用的key进行删除,用以保存新数据

  4. allkeys-random: 随机从all-keys中选择一些key进行删除,用以保存新数据

  5. volatile-random: 只从设置失效(expire set)的key中,选择一些key进行删除,用以保存新数据

  6. volatile-ttl: 只从设置失效(expire set)的key中,选出存活时间(TTL)最短的key进行删除,用以保存新数据

volatile-lru和volatile-random经常在一个Redis实例既做cache又做持久化的情况下用到,然而,更好的选择使用两个Redis实例来解决这个问题。设置是失效时间expire会占用一些内存,而采用allkeys-lru就没有必要设置失效时间,进而更有效的利用内存。

3 置换策略是如何工作的

理解置换策略的执行方式是非常重要的,比如:

  1. 客户端执行一条新命令,导致数据库需要增加数据(比如set key value)

  2. Redis会检查内存使用,如果内存使用超过maxmemory,就会按照置换策略删除一些key

  3. 新的命令执行成功

我们持续的写数据会导致内存达到或超出上限maxmemory,但是置换策略会将内存使用降低到上限以下。

如果一次需要使用很多的内存(比如一次写入一个很大的set),那么,Redis的内存使用可能超出最大内存限制一段时间。

设置转换策略

127.0.0.1:6379> CONFIG GET maxmemory-policy
1) "maxmemory"
2) "0"
127.0.0.1:6379> CONFIG SET maxmemory-policy allkeys-lru
OK
127.0.0.1:6379> CONFIG GET maxmemory-policy
1) "maxmemory-policy"

2) "allkeys-lru"


Tag:

感谢您关注我们,如果您有建站需求,请与我们取得联系。

网站制作公众号

宿迁腾云网络公司@网站开发| 网页制作公司 | 网站制作公司

咨询电话:13160355545

上一篇

返回栏目

下一篇

热推

  • win10正式版系统界面字体颜色偏淡怎么办?
  • 腾云网络网站升级改版正式上线!

相关

标签

html5(1) 画板(1) 网站排名(1) 百度优化(1) 动网(1) 网站架构(1) 网站统计(1) 搜索引擎优化(1) iconv(2) 字符(1) windows 10(1) 网络科技有限公司(1) 网站建设公司(1) 解决方案(1) 网站建设方案(2) 学院(1) 学校(1) 手游(1) 养老(1) 民生(1)
宿迁腾云网络公司
网站建设
  • 私人定制
  • 标准模板建站
  • 经济模板建站
精品模板

宿迁腾云网络公司

13160355545

江苏省宿迁市丽景湾华庭北门都市花园公寓9楼907

SiteMap
Copyright © 2017-2020 TYWEB.NET 宿迁腾云网络科技有限公司 ALL RIGHTS RESERVED.   苏ICP备17033535号-1
网站建设
建站费用
成功案例
联系我们
  • 售前客服
  • 售后客服
  • 微信扫一扫
  • 联系电话
    手机号13160355545
  • 返回顶部