1.redis32位内存限制:
32位redis实例能使用的最大内存只能为4G(实际使用不到4G),配置文件中配置的maxmemory (最大物理占用内存)没有用。如果没有配置最大内存,redis服务器在启动的时候会将最大内存设置为3G,以避免发生out of memory错误。
32位实例和64位实例生成的rdb文件和aof文件在两个实例之间是相互兼容的,不会导致数据的丢失
(官方解释:Redis compiled with 32 bit target uses a lot less memory per key, since pointers are small, but such an instance will be limited to 4 GB of maximum memory usage. To compile Redis as 32 bit binary usemake 32bit. RDB and AOF files are compatible between 32 bit and 64 bit instances (and between little and big endian of course) so you can switch from 32 to 64 bit, or the contrary, without problems.)。
2.redis 配置文件 redis.conf 需要修改的配置
daemonize yes
maxmemory 8000000000
maxmemory-policy allkeys-lru --- 当内存使用达到设置的最大阀值时,需要选择一种key的回收策略,可在Redis.conf配置文件中修改“maxmemory-policy”属性值。 若是Redis数据集中的key都设置了过期时间,那么“volatile-ttl”策略是比较好的选择。但如果key在达到最大内存限制时没能够迅速过期,或者根本没有设置过期时间。那么设置为“allkeys-lru”值比较合适,它允许Redis从整个数据集中挑选最近最少使用的key进行删除(LRU淘汰算法)。Redis还提供了一些其他淘汰策略,如下:
- volatile-lru:使用LRU算法从已设置过期时间的数据集合中淘汰数据。
- volatile-ttl:从已设置过期时间的数据集合中挑选即将过期的数据淘汰。
- volatile-random:从已设置过期时间的数据集合中随机挑选数据淘汰。
- allkeys-lru:使用LRU算法从所有数据集合中淘汰数据。
- allkeys-random:从数据集合中任意选择数据淘汰
- no-enviction:禁止淘汰数据。
#save 900 1
#save 300 10
#save 60 10000 ---注释掉,关闭rdb持久化