我使用 cakephp 2 和 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 库而有所不同,但希望这会给您正确的想法。
关于cakephp - 在 Cakephp 中使用通配符管理 Redis 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37274406/