我有一个在 Redis 中存储数据的程序。在命名空间“foo”下的键中存储了任意数量的集合,keys foo:*
即将返回集合的键列表。我想从命名空间中包含它的所有集合中删除字符串“bar”。本质上(这是在 Ruby 中):
redis.keys("foo:*").each do |key|
redis.srem(key, "bar")
end
由于使用keys
不打算用于生产用途,因此效率低下且不是原子的。鉴于我没有要提前操作的集合的键,有没有更好的方法从所有集合中删除“条”?
如果这是处理原子性并使其高效的唯一方法,我可以使用 Lua 脚本。