优化Redis内存的9个要点
1.注意在redis.conf中的小聚合数据类型的特殊编码设置:
hash-max-zipmap-entries 64 (hash-max-ziplist-entries for Redis >= 2.6)
hash-max-zipmap-value 512 (hash-max-ziplist-value for Redis >= 2.6)
list-max-ziplist-entries 512
list-max-ziplist-value 64
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
set-max-intset-entries 512
2.使用32位实例将内存受限在4G内,不过他们的RDB和AOF文件是兼容在32位和64位下去切换使用的。
3。使用bit位级别操作和byte字节级别操作来减少不必要的内存使用
bit位级别操作:GETRANGE, SETRANGE, GETBIT and SETBIT
byte字节级别操作:GETRANGE and SETRANGE
4.尽可能地使用hashes哈希,因为小Hashes会被编码成一个非常小的空间。
5.使用哈希来在Redis的顶部在普通key-value存储上来抽象内存使用效率
6.关于内存分配:
如果maxmemory没有设置的Redis会继续分配内存,因为它认为合适的,因此它可以(逐渐)吃了你的全部可用内存。因此,通常建议配置一些限制。您可能还需要设置maxmemory策略,以noeviction(这不是在一些旧版本的Redis的默认值)。
这使得Redis的返回内存不足的错误写命令,如果当它到达了极限 - 这反过来可能会导致应用程序错误,但不会导致因为内存饥饿而整机死亡。
另外redis 的6种过期策略redis 中的默认的过期策略是volatile-lru 。设置方式
config set maxmemory-policy volatile-lru
maxmemory-policy 六种方式
volatile-lru:只对设置了过期时间的key进行LRU(默认值)
allkeys-lru : 是从所有key里 删除 不经常使用的key
volatile-random:随机删除即将过期key
allkeys-random:随机删除
volatile-ttl : 删除即将过期的
noeviction : 永不过期,返回错误
maxmemory-samples 3 是说每次进行淘汰的时候 会随机抽取3个key 从里面淘汰最不经常使用的(默认选项)
7. 在存到Redis之前先把你的数据压缩下
8.尽量使用短的键(Keys)
9.使用Hashes值存储而不带额外的数据元
相关推荐
redis内存模型介绍,redis内存模型介绍
Go 实现的 Redis 内存分析工具:用于找出占用内存较多的 Key,将结果导出至 CSV 文件
分析key内存大小
Redis内存过期策略,Redis的内存回收机制,相关配置项
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
redis缓存解决方案和基本命令,redisredis内存存储结构分析.Redis的数据全部放在内存带来了高速的性能,但是也带来一些不合理之处。比如一个中型网站有100万注册用户,如果这些资料要用Redis来存储,内存的容量必须...
mysql优化与redis介绍
通过Key前缀分析Redis的内存占用按内存大小排序导出结果到csv文件
redis自身的info可以读出自身的内存使用情况,通过config get可读出你所设置的内存最大值。故可通过这两点,对redis内存使用情况进行监控。以下脚本考虑了四种输出可能:正常,警告,严重警告
本资源包含了redis集群, tomcat优化以及 MySQL5.6优化
XGIOSRedis一个运行在ios上的redis内存kv库;
Redis 是一个开源、高性能的Key-Value数据库,被广泛应用在服务器各种场景中。本文介绍几个查看Redis内存信息的命令,包括常用的info memory、info keyspace、bigkeys等。
Redis Analyzer - 用Rust编写的Redis内存分析器
///该测试程序调用了两个类库,分别是ServiceStack.Redis和StackExchange.Redis,每个类库都可单独使用, ///分三个部分进行 ///1。使用类库为ServiceStack.Redis,使用简单的RedisManger类进行操作,写入字符串和...
Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis是实现网站高并发不可或缺的一部分。我们使用Redis时,会接触Redis的5种对象类型(字符串、哈希、列表、集合...2、优化内存
NULL 博文链接:https://carlosfu.iteye.com/blog/2254571
这是本人分redis内部数据存储结构的过程文档,部分无用细节忽略,这是数据存储结构的分析,没有增、删、改、查的动态处理过程,需要参考部分源码查看
linux下redis3.0 安装与优化
RDM-Redis 内存数据库可视化工具安装包分享