Redis 最佳实践命令总结

Redis是单线程和高性能

      1) 因为redis的数据都是在内存中的,所有的运算都是内存级别的,内存级别的运算是纳秒级别的,因此redis理想的QPS是

10万

     2) 单线程天生的避免了线程之间切换造成的性能损耗问题

     3) 因为是单线程,所以对于比较耗时的命令(keys *),就慎用,一不小心就可能导致redis卡顿,主从模式还可能导致

主从切换

Redis是单线程和高并发

    因为redis采用IO多路复用:redis利用epoll来实现IO多路复用,将连接信息和事件放到队列中,依次放到文件事件分

派器,文件事件分派器分发给事件处理器

一:info 命令

info commandstats #整个redis执行了哪些命令、分别执行了多少次、总计耗时、平均每次耗时等信息

config resetstat #重置统计

二:client list 命令

#这条命令在排查redis慢的时候绝对是神技。
#一般阻塞的命令都会导致omem不断升高,这条命令能快速找到引起阻塞的命令,
[root@base-linux bin]# ./redis-cli -h 172.20.10.60 -p 6379 client list | grep -v "omem=0"

 三:使用scan命令 替代 keys * 命令 

   1) 渐进式遍历键

   2) scan 参数提供了三个参数,第一个是 cursor 整数值,第二个是 key 的正则模式,第三个是遍历的 limit hint。

第一次遍历时,cursor 值为 0,然后将返回结果中第一个整数值作为下一次遍历的 cursor。一直遍历到返回的

 cursor 值为 0 时结束

#命令实例
scan 0 match key88* count 100

四:del删除命令隐藏的问题,del在删除list,set,sorted set等数据类型的key时,如果数据量比较大的时候,

就可能会导致阻塞

猜你喜欢

转载自blog.csdn.net/lihongtai/article/details/84874797