[英]Delete redis key matching pattern using ruby
我想删除在 ruby 命名空间“datetime_filter”下定义的所有 redis 键(维护任务)。 这该怎么做 ?
如果您不想阻止服务器,正确的方法是使用SCAN命令。 如果您愿意,该命令将为您提供一个迭代器,仅返回与您的模式匹配的键(在这种情况下,使用MATCH
选项肯定是合适的)。 Ruby 脚本只需要迭代和删除。
所以:
WHILE keys = SCAN MATCH datetime_filter*
FOREACH key in keys DEL key
你可以使用:
Rails.cache.redis.keys.grep(/pattern/).each do |k|
Rails.cache.redis.del(k)
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.