【发布时间】:2013-10-24 13:43:21
【问题描述】:
我有一个在 Redis 中存储数据的程序。在命名空间“foo”下的键中存储了任意数量的集合,即keys foo:* 将返回集合的键列表。我想从命名空间中包含它的所有集合中删除字符串“bar”。本质上(这是在 Ruby 中):
redis.keys("foo:*").each do |key|
redis.srem(key, "bar")
end
由于使用了keys,它不适合生产使用,因此效率低下且不是原子的。考虑到我没有要提前操作的集合的键,有没有更好的方法从所有集合中删除“bar”?
如果这是处理原子性并使其高效的唯一方法,我可以使用 Lua 脚本。
【问题讨论】:
标签: redis