0
我使用cakephp 2和redis。在Cakephp中使用通配符管理redis密鑰
如何通過通配符掩碼從緩存中刪除所有密鑰? 例如,我想要刪除所有掩碼「prefix_element_group1 *」
關於我知道的clearGroup。 但它只增加組值以模擬刪除組下的所有密鑰舊值將保留在存儲中,直到它們過期。
至少如何獲得使用掩碼的鍵列表?類似於redis-cli中的「keys *」
我使用cakephp 2和redis。在Cakephp中使用通配符管理redis密鑰
如何通過通配符掩碼從緩存中刪除所有密鑰? 例如,我想要刪除所有掩碼「prefix_element_group1 *」
關於我知道的clearGroup。 但它只增加組值以模擬刪除組下的所有密鑰舊值將保留在存儲中,直到它們過期。
至少如何獲得使用掩碼的鍵列表?類似於redis-cli中的「keys *」
您的問題不是特定於CakePHP。您可以使用帶有eval的Lua腳本刪除任意通配符支持的密鑰。下面是一個PHP例子:
$deleteScript = 'return redis.call("DEL", unpack(redis.call("keys", ARGV[1])))';
$redis = getRedisConnection(); // whatever CakePHP provides
$redis->eval($deleteScript, 0, "keyPattern:*");
顯然確切的語法會因您的特定Redis的庫,但希望這應該給你正確的想法。