按模式删除Redis太慢了

tes*_*sie 0 ruby lua ruby-on-rails redis

  for i, name in ipairs(redis.call('KEYS''cache:user_transaction_logs:*:8866666')) do redis.call('DEL', name); end"
Run Code Online (Sandbox Code Playgroud)

如何优化此redis查询?

我们在Rails中使用Redis作为缓存存储.每当auser进行成功的事务时,接收者和发起者的事务历史记录从redis到期

Ita*_*ber 7

查询无法进行优化 - 应该将其全部替换,因为KEYS在非生产环境中不鼓励使用除调试之外的任何其他内容.

一种更好的方法,不是试图获取相关的临时名称,而是在数据结构(例如Set或List)中管理它们,并在执行删除时从中读取它们.