Redis 最佳實踐命令總結
阿新 • • 發佈:2018-12-12
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不斷升高,這條命令能快速找到引起阻塞的命令, [[email protected] 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時,如果資料量比較大的時候,
就可能會導致阻塞