Redis-在redis里如何删除以相同开头的set?
比如:在redis 服务器 有很多以image:开头的键的set,如何批量删这些相同开头的set。使用什么命令可以?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
比如:在redis 服务器 有很多以image:开头的键的set,如何批量删这些相同开头的set。使用什么命令可以?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
我以php客户端为例:
$redis->delete($redis->keys('image*'));
$redis->keys('image*'); 将返回所有image开头的key,然后删除即可。
应该不可以通过一个命令批量直接删除。
需要写个小程序处理(php,其他的语言应该原理是一样的):
$imageSet = $redis->keys('image:*');
foreach ( $imageSet as $value) {
$redis->del($value);
}
echo 'Game Over';
=================
补充下,你是想通过命令去操作,那么可以在终端直接这么用,原理是差不多:
redis-cli KEYS "image:*" | xargs redis-cli DEL
keys命令不要在大规模请求中使用,可能会带来系统性能的消耗。参考官网的说明http://redis.io/commands/keys “This command is intended for debugging and special operations, such as changing your keyspace layout. Don't use KEYS in your regular application code.”