redis内存优化

官方配置连接:

https://raw.github.com/antirez/redis/2.2/redis.conf

 

1、maxmemory_policy主要过期策略6种

volatile-lru(least recently used):从设置了过期时间的键中挑选最近最少使用的数据淘汰; (官方默认)

volatile-ttl:从设置了过期时间的键中挑选即将过期的数据淘汰 ;

volatile-random:从设置了过期时间的键中随机挑选数据淘汰;

allkeys-random:所有的键中,随机选择键进行删除; 

 allkeys-lru:从所有的键中挑选最近最少使用的数据淘汰;

noeviction:不做任何的清理工作,在redis的内存超过限制之后,所有的写入操作都会返回错误;但是读操作都能正常的进行; 

根据自己的需要选择对应的策略,maxmemory与maxmemory_policy通常一起使用

 

2、设置maxmemory与maxmemory_policy

 参数配置

虚拟机内存15G

maxmemory设置的是8G

maxmemory_polic设置的是allkeys-lru 

下面是redis的使用情况 (后面没单位的默认byte)

used_memory: Redis分配的内存总量,即存储的所有数据占用的内存

used_memory_human: 以可读格式返回使用的内存量

used_memory_rss:从系统角度,显示Redis进程占用的物理内存总量

used_memory_rss_human:以可读格式返回Redis进程占用的物理内存总量

used_memory_peak:内存使用的最大值,表示used_memory峰值

used_memory_peak_human:以可读格式返回内存使用的最大值

total_system_memory:系统总内存

total_system_memory_human:以可读格式返回系统总内存

used_memory_lua:Lua进程使用内存

used_memory_lua_human:以可读格式返回Lua进程使用内存

mem_fragmentation_ratio:内存碎片率,等价于(used_memory_rss /used_memory)

mem_allocator:redis使用的内存分配器

重点关注used_memory以及used_memory_rss和碎片率mem_fragmentation_ratio

mem_fragmentation_ratio > 1: used_memory_rss -used_memory 多出部分没有存储数据,而是被内存碎片消耗了,如果差的很大,说明碎片很严重

mem_fragmentation_ratio < 1: 一般出现在操作系统把Redis内存交换到硬盘导致

# 开启自动内存碎片整理(总开关)
activedefrag yes
# 当碎片达到 100mb 时,开启内存碎片整理
active-defrag-ignore-bytes 100mb
# 当碎片超过 10% 时,开启内存碎片整理
active-defrag-threshold-lower 10
# 内存碎片超过 100%,则尽最大努力整理
active-defrag-threshold-upper 100
# 内存自动整理占用资源最小百分比
active-defrag-cycle-min 25
# 内存自动整理占用资源最大百分比
active-defrag-cycle-max 75

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值