Redis内存监控及管理


当前第2页 返回上一页

redis可以动态调整最大内存是非常好用的,当服务器内存不够用的情况下,需要增加内存,当服务器内存增大了,再动态调整redis的mammemory。

另外,redis的内存回收策略的配置(maxmemory-policy)有几个,其中有两个单词经常出现,LRU、LFU,意义分别如下:

  • 最近最少使用的(Least Recently Used)

  • 最近最不常用的(Least Frequently Used)

下面来看看所有的回收策略及意义:

  • noeviction:默认策略,不会删除任何键,当超过最大内存后,拒绝任何写入命令,只响应读命令

  • volatile-lru:根据lru算法删除过期的键,如果没有可删除的键,则回退到noeviction策略。

  • allkeys-lru:根据lru算法删除键,不管键是否过期,直到占用内存小于maxmeory为止。

  • allkeys-lfu:和上面含义一致,只不过是使用lfu算法来删除。

  • allkeys-random:当达到最大内存后,随机删除键。

  • volatile-ttl:删除快要过期的键。如果没有则回退到noeviction。

内存优化

上面说了redis回收策略,它属于被动删除策略,我们可以主动去删除长时间没有访问的键。可以通过使用scan遍历键,然后使用object ideltime来查看键的空闲时间,删除那些长时间没有访问的键。

此外,还可以缩减键值对象的方式来减低内存的占用量。

1

2

3

4

5

6

127.0.0.1:6379> scan 0

1) "272"

2)  1) "story:course:3915"

    2) "story:course:1681"

    3) "story:course:4982"

……

比如,上面的键可以改为:sy:cos:id来减低键的长度。对于,值的话,可以使用压缩技术来降低值的长度。(压缩会增加cpu的压力,可根据具体应用酌情应用)

以上就是Redis内存监控及管理的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

Redis缓存时间一般多少

Redis和rabbitmq区别

Redis支持回滚吗

Redis启动停止与查看Redis端口的方法

如何实时监控Redis性能

Redis与mysql有哪些区别

Redis缓存有什么好处

Redis判断值是否存在

Redis为什么是安全的

Redis缓存怎么和数据库同步

更多相关阅读请进入《Redis》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...