当我不使用命名空间时,有没有办法删除 redis 中所有与 sidekiq 相关的条目?
Is there a ways to remove all sidekiq related entries in redis when I did not use a namespace?
我有一个 redis 数据库需要从所有 sidekiq 相关信息(作业、队列等)中清除,因为 sidekiq 正在被移动到它自己的实例,与我的 redis 数据的其余部分分开。如果我没有为 sidekiq 使用命名空间,有没有办法找到所有与 sidekiq 相关的键?
编辑
这就是我所做的:
["retry", "schedule", "dead", "processes", "queues", "queue:*", "stat:*", "b-*", "unique:*", "loop*"].each do |k|
if k.include?("*")
REDIS.keys(k).each do |nk|
REDIS.del(nk)
end
else
REDIS.del(k)
end
end
所有 Sidekiq 键都没有标准前缀,但大多数数据都存储在几个键中:
# Sidekiq
retry
schedule
dead
processes
queues
queue:*
stat:*
# Sidekiq Pro
b-*
# Sidekiq Enterprise
unique:*
loop*
我有一个 redis 数据库需要从所有 sidekiq 相关信息(作业、队列等)中清除,因为 sidekiq 正在被移动到它自己的实例,与我的 redis 数据的其余部分分开。如果我没有为 sidekiq 使用命名空间,有没有办法找到所有与 sidekiq 相关的键?
编辑 这就是我所做的:
["retry", "schedule", "dead", "processes", "queues", "queue:*", "stat:*", "b-*", "unique:*", "loop*"].each do |k|
if k.include?("*")
REDIS.keys(k).each do |nk|
REDIS.del(nk)
end
else
REDIS.del(k)
end
end
所有 Sidekiq 键都没有标准前缀,但大多数数据都存储在几个键中:
# Sidekiq
retry
schedule
dead
processes
queues
queue:*
stat:*
# Sidekiq Pro
b-*
# Sidekiq Enterprise
unique:*
loop*