gpt4 book ai didi

redis - 如何在 REDIS 中标记一个键,以便以后我可以删除所有与该标签匹配的键?

转载 作者:可可西里 更新时间:2023-11-01 11:12:20 25 4
gpt4 key购买 nike

今天我们这样保存数据:

redisClient->set($uniquePageID, $data);

然后像这样输出数据:

redisClient->get($uniquePageID)

但是现在我们需要删除基于用户 ID 的数据库。所以我们需要这样的东西:

redisClient->set($uniquePageID, $data)->tag($userID);

所以我们可以去掉所有只和这个userID相关的key,例如:

redisClient->tagDel($userID);

REDIS 能解决这样的问题吗?

谢谢

最佳答案

没有内置的方法可以做到这一点。相反,您需要自己标记这些页面:

  • 设置页面-数据对时,还要将页面id放入相应用户的SET中。
  • 当你想删除给定用户的所有页面时,扫描用户的 SET 以获取该用户的页面 ID,然后删除这些页面。

扫描SET时,可以使用SMEMBERSSSCAN命令,具体取决于SET 。如果是大的SET,优先选择SSCAN,避免长时间阻塞Redis。

关于redis - 如何在 REDIS 中标记一个键,以便以后我可以删除所有与该标签匹配的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57667913/

25 4 0