批量設定redis key的過期時間

2021-09-01 14:54:32 字數 863 閱讀 8390

批量的給redis中***同樣字首***的key設定失效時間。

由於之前沒有考慮到資料量的問題,在redis中建了大量永久的key,早上發現redis記憶體滿了,一對定時任務掛掉了,於是打算給這些key設定失效時間.

之前有批量刪除key的方法:

redis-cli -h 127.0.0.1 keys "pre:key_*"

|xargs redis-cli -h 127.0.0.1 del

打算直接用上述命令,結果發現xargs是把"|"前的標準輸出接到後面的標準輸入後面然後執行的,而redis的expire需要把在key後面加上時間引數。

於是便去找xargs的使用方法,找到了"-i"命令,

-i, --replace[

=r] replace r in initial-args with names read from standard input;

if r is unspecified, assume

加上"-i"引數,可以用"{}「代替」|"前面的標準輸出,

timbby@timbby:~$ echo

"world"

|xargs -i echo

"hello "

", end."

hello world, end.

因此最終解決辦法就是:

redis-cli -h 127.0.0.1 keys "pre:key_*"

|xargs -i redis-cli -h 127.0.0.1 expire 86400

命令執行後會有滿屏的"(integer) 1",→_→ …

Redis Key 過期策略

redis 官方提供的 conf 中6中過期策略的具體方式。redis 中的預設的過期策略是volatile lru 設定方式 config set maxmemory policy volatile lru maxmemory policy 六種方式 volatile lru 只對設定了過期時間的...

Redis Key過期通知

概述 鍵空間通知使得客戶端可以通過訂閱頻道或模式,來接收那些以某種方式改動了 redis 資料集的事件。如redis資料庫中鍵的過期事件也是通過訂閱功能實現。本文主要基於azure paas redis演示相關功能的具體實現。配置因為開啟鍵空間通知功能需要消耗一些 cpu 所以在預設配置下,該功能處...

redis key 的過期策略

redis的key有3種過期刪除策略,具體如下 缺點 對cpu時間不友好,如果過期的key比較多時,可能會占用相當一部分cpu時間,對伺服器的響應時間和吞吐量造成影響 redis伺服器實際使用的是惰性刪除和定期刪除兩種策略 通過配合使用這兩種刪除策略,伺服器可以很好地在合理使用cpu時間和避免浪費記...