首页  

redis使用注意点     所属分类 redis 浏览量 1329
Key命名设计:可读性、可管理性、简洁性
建议使用冒号作为分隔符

apps:app:1
apps:app:2
apps:app:3

Value设计:拒绝bigkey
超过10KB后,出现性能拐点

控制Key的生命周期:设定过期时间

时间复杂度为O(n)的命令需要注意N的数量

禁用命令:KEYS、FLUSHDB、FLUSHALL等

推荐使用批量操作提升操作效率
1、原生命令包括:例如mget、mset、hmget、hmset、LPUSH key value集合等。
2、非原生命令包括:Pipeline。

monitor命令控制使用时间

monitor命令一般是用来观察redis服务端都在执行哪些命令并实时输出。
随着monitor命令执行时间越来越长,会导致越来越多的数据积压在输出缓冲区,从而导致输出缓冲区占用内存越来越大。

开启一个monitor
redis-cli -h 127.0.0.1 -p 6379 monitor  
使用redis-benchmark:
redis-benchmark -h 127.0.0.1 -p 6379 -c 500 -n 200000  

观察
(1) info memory:内存一直增加,直到benchmark结束,monitor输出完毕,但是used_memory_peak_human(历史峰值)依然很高 
(2)info clients: client_longest_output_list: 一直在增加,直到benchmark结束,monitor输出完毕,才变为0 
(3)redis-cli -h host -p port client list | grep "monitor" omem一直很高,直到benchmark结束,monitor输出完毕,才变为0 

监控脚本:
while [ 1 == 1 ]  
do  
now=$(date "+%Y-%m-%d_%H:%M:%S")  
echo "=========================${now}==============================="  
echo " #Client-Monitor"  
redis-cli -h 127.0.0.1 -p 6379 client list | grep monitor  
redis-cli -h 127.0.0.1 -p 6379 info clients  
redis-cli -h 127.0.0.1 -p 6379 info memory  
#休息100毫秒  
usleep 100000  
done

上一篇     下一篇
让自己更优秀的16条法则

kafka高可用机制简介

kafka消息投递语义

集群session处理

分布式数据库主键生成方案

properties与yml配置文件比较