redis的通配符和批量删除Key

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_44018338/article/details/99461057

1. DEL 直接加键名称

DEL key1 key2 key3

127.0.0.1:6379>  DEL site_msg_99973  false site_msg_99974   false site_msg_99979false

2. 批量删除key

可用keys ‘str*’ 列出要删除的key,接linux管道删除(linux命令行执行)

根据通配符查看待删除的key

redis-cli KEYS "site_msg_999*”

接linux管道删除之

redis-cli KEYS "site_msg_999*"|xargs redis-cli DEL

3.更好的方式

keys * 命令在数据量很大的情况下,直接在redis cli中执行会严重影响服务器性能,更好的方式是在lua脚本中执行

eval方式执行redis lua

lua方式通配符查找

eval "return redis.call('keys',KEYS[1])" 1 adv*  

eval "return redis.call('keys',KEYS[1])" 1 *

lua方式通配符删除

eval "return redis.call('del',unpack(redis.call('keys',ARGV[1])))" 0 adv*

eval "return redis.call('del',unpack(redis.call('keys',ARGV[1])))" 0 ‘site_msg_888*’

猜你喜欢

转载自blog.csdn.net/weixin_44018338/article/details/99461057
今日推荐