由於在我們的專案中使用spring cached和redis結合的方式對一部分資料做資料庫快取,當快取和資料庫資料不一致時(由於手動改資料庫引起),就得清空資料庫的快取,這就涉及到redis迷糊匹配刪除資料的情況發生。
redis keys命令支援模式匹配,但是del命令不支援模式匹配,有時候需要根據一定的模式來模糊刪除key,這時只能結合shell命令來完成了。 具體命令是:
redis-cli keys "pattern" | xargs redis-cli del
其中pattern是keys命令支援的模式,這樣就可以模糊刪除key了。
注意注意這是shell命令,不是redis的命令!!
我的例子:
進到redis安裝目錄的src目錄
/usr/local/redis-2.8.17/src
然後執行命令
./redis-cli -a jl2012 keys "drugstoreservice_cache*" | xargs redis-cli -a jl2012 del
其中drugstoreservice_cache就是模糊匹配的key的字首;-a jl2012是因為我們的redis資料庫使用了密碼,需鑑權,沒設定密碼的redis是不需要這個引數的。備忘備忘!
Redis批量刪除Key 模糊
1.如果刪除的key沒什麼規律且數量不是很多,可以用redisdesktopmanager操作或者是在linux中reids cli中操作 linux中進入操作模式的指令為 redis cli h host p port a password 2.但是如果要刪除的key比較多並且有一定的規律形如 k...
redis cli 模糊刪除 key
根據某些業務需求,需要手動模糊刪除redis裡面的key 執行命令 redis cli h 127.0.0.1 p 12315 keys 刪除條件 xargs redis cli h 127.0.0.1 p 12315 del 我redis 使用的埠為12315,所以執行命令是需要指定埠,不指定埠的...
python redis批量模糊刪除keys
import redis conn redis.redis host localhost port 6379,db 0 conn.delete conn.keys pattern test 解釋 conn.keys test 返回乙個匹配相應模式的列表 通過 號,可以看出,delete 方法中的引數...