2014-10-26 103 views
1

我想從我的Redis中刪除與SomePrefix *匹配的所有密鑰。可能嗎 ? 我只看到m_connectionMultiplexer.GetDatabase()。KeyDelete(),但沒有在庫中的KeyMatch()或GetAllKeys()。刪除所有匹配鍵

最好不要Lua腳本,例如link by Leonid Beschastny

我想使用對應用程序的開發狀態的Web應用程序的初始化。

+1

可能的[如何自動刪除使用Redis匹配模式的密鑰]的副本(http://stackoverflow.com/q/4006324/1202461)。 – 2014-10-26 14:28:38

+0

我知道,但我認爲有更容易的使用,而不是lua內stackexchange.redis客戶端 – eugeneK 2014-10-26 14:31:57

回答

2

SE.Redis直接模仿服務器公開的功能。服務器沒有「刪除與此模式匹配的鍵」功能。它確實有「掃描匹配這種模式的密鑰」(通過GetServer().GetKeys(...)),並且它有「刪除這個密鑰/這些密鑰」(通過GetDatabase.KeyDelete(...))。您可以批量迭代匹配鍵,依次刪除每個批次。因爲您可以管理請求,所以不會爲每批次支付延遲。

作爲替代方案實現:通過數字數據庫(select)或服務器分區中的數據,並使用flushdb/flush

+0

你一定是在開玩笑,我應該問開發商的這件事情;-) ...謝謝 – eugeneK 2014-10-26 16:43:29

+0

@eugeneK注:我添加了一個替代選項一個編輯。 – 2014-10-26 16:47:07