REDIS 存在 PHP

REDIS EXISTS with PHP

我有多个名称相同的键,除了一个单词 (user.delete.iduser.add.iduser.update.id... 等)。如果这些键中的任何一个存在,我想删除某个键。所以我想知道是否可以做类似下面的事情 PHP:

在用户中 class

$cachekey = 'user.'

另一个class

$redis->exists(User::$cachekey.'*.'.$id)

使用星号有用吗?

正如@Vigikaran 所说,您的解决方案不能应用于 EXISTS 等命令。

更新:改进的解决方案

您的问题的惯用解决方案是使用散列来存储值。

当您为 user.add.id 设置值时:

HSET user.id add somevalue

我使用了原始 Redis 命令,但它应该按字面意思翻译 PHP(具体语法可能因您使用的驱动程序而异)。

请注意,我更改了密钥的名称:在我的示例中为 user.id。您的键的可变部分('add'、'delete'...)在我的解决方案中成为字段名称。

如果要删除密钥,请使用 HDEL

HDEL user.id add

然后要测试至少一个键是否存在,只需使用 EXISTS:

EXISTS user.id