阅读 167

Redis——最大内存设置maxmemory

Redis——最大内存设置maxmemory

启动时设置 

复制代码

单节点启动
docker run -d --name redis6379 \              -p 6379:6379 \              -v /root/data/soft/redis/redis6379:/data \              -m 1G --memory-swap 1G \
              redis:6.2.3 \              --maxmemory 100m

集群节点部署
docker run -d --name redisnode1 \              --net host \              -v /root/data/soft/redis/redisnode1:/data \              -m 1G --memory-swap 1G \
              redis:6.2.3 \              --port 6301 \              --cluster-enabled yes \              --cluster-config-file cluster.conf \              --maxmemory 800m

复制代码

运行时修改

docker exec -it redisnode1 redis-cli -h 192.168.1.20 -p 6301 info | grep memory
docker exec -it redisnode1 redis-cli -h 192.168.1.20 -p 6301 config get maxmemory
docker exec -it redisnode1 redis-cli -h 192.168.1.20 -p 6301 config set maxmemory 800m

 

设置了maxmemory的选项,redis内存使用达到上限。可以通过设置LRU算法来删除部分key,释放空间。默认是按照过期时间的,如果set时候没有加上过期时间就会导致数据写满maxmemory。

如果不设置maxmemory或者设置为0,64位系统不限制内存,32位系统最多使用3GB内存。

LRU是Least Recently Used 近期最少使用算法。

  • volatile-lru -> 根据LRU算法生成的过期时间来删除。

  • allkeys-lru -> 根据LRU算法删除任何key。

  • volatile-random -> 根据过期设置来随机删除key。

  • allkeys->random -> 无差别随机删。

  • volatile-ttl -> 根据最近过期时间来删除(辅以TTL)

  • noeviction -> 谁也不删,直接在写操作时返回错误。

如果设置了maxmemory,一般都要设置过期策略。打开Redis的配置文件有如下描述,Redis有六种过期策略

 

redis.conf中的maxmemory定义REdis可用最大物理内存,有多种书写方式,以下均为合法:

maxmemory 1048576
maxmemory 1048576B
maxmemory 1000KB
maxmemory 100MB
maxmemory 1GB
maxmemory 1000K
maxmemory 100M
maxmemory 1G

没有带单位尾巴的为字节数,以B结尾的表示相应的大小。但需要注意KB和K、MB和M、GB和G是不同的,如1K表示1000字节,而1KB则为1024字节。如果maxmemory值为0,表示不做限制。

 

查看当前redis节点内存状态

复制代码

[root@bogon mongo]# docker exec -it redisnode1 redis-cli -h 192.168.1.20 -p 6301 info | grep memory
used_memory:1797944used_memory_human:1.71M
used_memory_rss:5668864used_memory_rss_human:5.41M
used_memory_peak:1816760used_memory_peak_human:1.73M
used_memory_peak_perc:98.96%used_memory_overhead:1493440used_memory_startup:1468256used_memory_dataset:304504used_memory_dataset_perc:92.36%total_system_memory:3953971200total_system_memory_human:3.68G
used_memory_lua:37888used_memory_lua_human:37.00K
used_memory_scripts:0used_memory_scripts_human:0B
maxmemory:838860800maxmemory_human:800.00M
maxmemory_policy:noeviction

复制代码

 

来源:https://www.cnblogs.com/xingchong/p/14790170.html

服务器评测 http://www.cncsto.com/ 

服务器测评 http://www.cncsto.com/ 



文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐