首页 / REDIS / Redis内存监控及管理
Redis内存监控及管理
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Redis内存监控及管理,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2709字,纯文字阅读大概需要4分钟。
内容图文
![Redis内存监控及管理](/upload/InfoBanner/zyjiaocheng/589/ed9e8a2f436740f0b74a01e9ddb613ad.jpg)
内存监控
redis为我们提供了info memory命令来查看内存使用。该命令的展示的数据非常多,下面只看其中比较重要的一些。
used_memory:1146648 (redis分配器分配的内存量)
used_memory_human:1.09M(以可读方式展示)
used_memory_rss:4358144 (redis总占用内存量)
used_memory_rss_human:4.16M(可读方式展示redis总占用内存量)
used_memory_peak:1229448 (userd_memory_peak峰值)
used_memory_peak_human:1.17M
used_memory_overhead:857036(缓冲区、backlog等占用的内存)
used_memory_startup:791384(启动redis消耗的内存)
used_memory_dataset:289612(redis数据所占用的内存)
used_memory_lua:37888(lua脚本消耗的内存)
used_memory_lua_human:37.00K(可读方式展现)
mem_fragmentation_ratio:4.02(内存碎片率,used_memory_rss / used_memory)
mem_fragmentation_ratio大于1时,表示有内存碎片,数值越低表示碎片率越严重。应用允许的情况下,可以重启redis来降低碎片率。当小于0时,就要非常注意了,表示内存不够用了,使用了部分swap。
内存管理
一般建议给redis设置内存上限,maxmory
修改方式有两种
修改配置文件
动态设置
下面展示动态设置
127.0.0.1:6379> config set maxmemory 1G OK 127.0.0.1:6379> config rewrite OK
设置最大内存有两个方面的作用,首先可以限制redis占用的内存大小,防止超过物理内存大小。另外,当设置了最大内存后,redis超过了最大内存后,就可以触发内存回收策略(通常应用于缓存场景)
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来查看键的空闲时间,删除那些长时间没有访问的键。
此外,还可以缩减键值对象的方式来减低内存的占用量。
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内存监控及管理所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。