繁体   English   中英

使用ruby删除redis键匹配模式

[英]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

尝试这个 -

 $redis.del(datetime_filter_key)

并遵循以下方法 -

在redis中,我如何删除密钥?

你可以使用:

Rails.cache.redis.keys.grep(/pattern/).each do |k|
  Rails.cache.redis.del(k)
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM