小程序排错(redis导致)

小程序突然出问题,题库加载不了,程序正常,测试环境同样环境,同样代码都正常,但是线上数据秒过期,怀疑redis过期时间设置有问题,但是检查配置没问题,写入数据带过期时间也正常。

redis设置key:

SET cache_page "www.google.com"  #设置key
EXPIRE cache_page 30         #设置过期时间
TTL cache_page                   #查看还有多少时间过期
EXPIRE cache_page 30000    #重新设置过期时间
TTL cache_page       

自己新建key测试都正常,但是跑程序就有问题。

查询使用量

redis-cli -h 127.0.0.1 -p 6379 info
查看内存使用情况:
used_memory:1000167064
used_memory_human:953.83M
used_memory_rss:1104846848
used_memory_rss_human:1.03G
used_memory_peak:1010460760
used_memory_peak_human:963.65M
total_system_memory:16657608704
total_system_memory_human:15.51G
used_memory_lua:37888
used_memory_lua_human:37.00K
maxmemory:2147483648
maxmemory_human:2.00G
maxmemory_policy:noeviction
mem_fragmentation_ratio:1.10
mem_allocator:jemalloc-4.0.3

发现内存使用量过大,加上故障过程clean掉的key,已经满了,现在不难解释,当redis满了之后,会将原来的key删掉,导致故障

redis在线加内存:

config set maxmemory 2147483648  #加内存
CONFIG GET maxmemory  #得到最大内存

redis增加内存,故障恢复

posted @ 2018-01-25 11:45  行知散人  阅读(208)  评论(0编辑  收藏  举报