REDIS中意外的耗時命令 DEL EXISTS

2021-08-02 22:54:04 字數 379 閱讀 7135

在排查redis耗時的過程中發現大量的exists命令耗時很長。很意外,印象中感覺這個這個命令應該是很快執行完的。隨後了解到

1. redis中del命令的時間複雜度對於字串和雜湊值而言是o(1),而對於list、set和sorted set而言則是o(n) (這裡的 n 是集合中資料項的數目)。所以對於大集合key,del命令會很耗時。

2. 在exists命令處理函式中實現了清除過期key的主動策略,會先呼叫 expireifneeded 函式檢查要訪問的 key 是否過期,如果過期就delete掉這個key。所以對於大集合,exists命令也有可能會很耗時。

Redis常用的命令

啟動 redis 服務 src redis server或者src redis server redis.conf src redis server redis.conf 1 log.log 2 errlog.log 1為標準輸出,2為錯誤輸出 將 redis 作為 linux 服務隨機啟動 vi ...

redis 命令的使用

redis 相關設定,redis命令可以用tab鍵補全 root elk node1 redis cli h 192.168.122.188 192.168.122.188 6379 set mykey abc 定義乙個鍵值對 ok192.168.122.188 6379 get mykey 獲取鍵...

Redis的高階命令

返回滿足所有鍵key 可以模糊匹配 exists是否存在指定的key expire設定某個key的過期時間,使用ttl檢視剩餘時間 persist取消過期時間 select選擇資料庫 資料庫為0到15 一共16個資料庫 預設進入的是0資料庫 move key 資料庫下標 將當前資料中的key轉移到其...