查看 Redis 某种类型的所有 key
文章目录
- 查看 Redis 某种类型的所有 key
- 方法
- 示例
- 附录 - MacOS 安装 GUN grep
查看 Redis 某种类型的所有 key
Redis 没有提供按类型查找 key 的方法。 我们自己通过管道组合命令来查询。
注意,这仅适合 key 不太多的情况,如果太多,可能会很卡。
方法
redis-cli -a [Password] KEYS "*" 2>/dev/null | xargs -t -I {} redis-cli -a [Password] TYPE "{}" 2>&1 | grep -x -B 2 [type] | grep -v Warning
[type]
替换成你要查找的类型- 当 Redis 存在密码时,使用
-a [Password]
。这将导致 Redis 警告:Warning: Using a password with ‘-a’ or ‘-u’ option on the command line interface may not be safe.。所以 grep -B 2 打印结果前两行才能看到 key 名称。 grep -v Warning
排除 Redis 警告信息。
如果你的 grep 支持 -P 选项,那么你有一种更加完美的解决方式:
如果你的系统是 MacOS 且不支持 -P,可参考以下 《附录 - MacOS 安装 GUN grep》
redis-cli -a [Password] KEYS "*" 2>/dev/null | xargs -t -I {} redis-cli -a [Password] TYPE "{}" 2>&1 | grep -x -B 2 [type] | grep -o -P '(?<=TYPE ).*$'
grep -o -P '(?<=TYPE ).*$'
只打印 key- 如果你看不懂
?<=
的含义,请自行学习正则表达式断言
示例
例如:查看 stream 类型的所有 key
假设密码为 abcd1234
$ redis-cli -a abcd1234 KEYS "*" 2>/dev/null | xargs -t -I {} redis-cli -a abcd1234 TYPE "{}" 2>&1 | grep -x -B 2 stream | grep -v Warning
# 打印结果
redis-cli -a abcd1234 TYPE userstream
stream
- 第一行 userstream 即是我们查找出来的其中一个 key
- 第二行 stream 是它的类型
同样的,用 -P 查询
$ redis-cli -a abcd1234 KEYS "*" 2>/dev/null | xargs -t -I {} redis-cli -a abcd1234 TYPE "{}" 2>&1 | grep -x -B 2 stream | grep -o -P '(?<=TYPE ).*$'
# 打印结果
userstream
- 结果更加直观。
附录 - MacOS 安装 GUN grep
MacOS 系统自带的 grep 是 BSD grep, 它不支持 -P
选项,GNU grep 才支持 -P
选项。
- 安装
$ brew install grep
- 替换 grep 默认路径
$ vim ~/.zshrc
# 在末尾加入
export PATH="/usr/local/opt/grep/libexec/gnubin:$PATH"
- 立刻生效
$ source ~/.zshrc
查看 Redis 某种类型的所有 key相关推荐
- Redis基本类型之String类型
文章目录 Redis基本类型之String类型 一.简介 二.String类型的常见命令 三.操作案例 1.set.get(设置和获取数据) 2.mset.mget(批量设置和获取数据) 3.incr ...
- 查看redis缓存大小_一个 bug 引发了服务器崩溃,对应 redis 的 key 回收原理你清楚了吗?...
1 背景 项目中使用了 redis 做旁路缓存.读请求到来时,有以下操作:1.检查缓存,有则返回2.没有则读取数据库,将结果回写到缓存中. 写请求到来时,有以下操作:1.更新数据库 2.更新缓存(实际 ...
- 如何使用Redis Data Reveal(rdr)查看redis中每个key占用的内存大小
如何使用Redis Data Reveal(rdr)查看redis中每个key占用的内存大小 一.为什么要查看redis中每个key的占用 二.怎么查看redis中每个key的占用 一.为什么要查看r ...
- [Redis]怎么查看以xx开头的所有key?有什么坑?BigKey问题?
目录 1. keys 有坑 2. bigKey问题 2.1 big key 系列问题 什么是 big key 寻找big key(通过RDB分析,redis-cli分析) 优化big key 2.2 ...
- Redis String 类型操作及常用命令
七个原则 Redis 是一个操作数据结构的语言工具,它提供基于 TCP 的协议以操作丰富的数据结构.在 Redis 中,数据结构这个词的意义不仅表示在某种数据结构上的操作,更包括了结构本身及这些操作的 ...
- 查看redis常用命令
Redis常用命令 一. Connection连接 ping 使用客户端向 Redis 服务器发送一个 PING ,如果服务器运作正常的话,会返回一个 PONG 案例: 测试ping quit 请求服 ...
- 查看redis集群信息
注:ip为安装redis的那台服务器(集群中的其中一台)的ip,password为redis的密码 集群相关信息查看 1.集群状态 redis-cli -h ip -p 9379 -a passwor ...
- Redis遍历、模糊匹配key的两个命令keys、scan(python使用Redis)
Redis遍历.模糊匹配key的两个命令keys.scan(python使用Redis) (1)全量遍历–keys命令 获取Redis中的所有键: import redis pool=redis.Co ...
- RedisTemplate操作redis五大类型用法详解(springboot整合redis版本)
1.案例说明 springboot整合redis之后,提供了操作redis的简便方式 通过通用对象redisTemplate方式操作String,Hash,List,Set SortSet五大数据类型 ...
最新文章
- alloc、init你弄懂50%了吗?
- Ubuntu12.10-amd64系统上搭建Android4.2(JellyBean)源码开发环境
- 在OpenEIM中每运行一个程序
- 防止电子邮件地址被搜索到的新方法
- 计算机大赛开场白,比赛主持开场白
- java 中张孝祥老师_谁有传智博客张孝祥老师的Java视频——必须是完整的
- bh1750采集流程图_多路BH1750光强检测系统的设计
- java九宫格案例讲解_Java实现九宫格的教程详解
- ESX4 安装前的考虑
- 像素是什么意思?一个像素有多大?告诉你像素和分辨率的关系!
- RSA的dp泄露 —— 【WUST-CTF2020】leak
- 两宋词人Top10排排座
- 面试时如何反问面试官
- tlp导致linux运行缓慢,通过TLP改善Linux中的电源使用 | MOS86
- 使用mybatis进行四表联查
- 不同 frame 之间调用 js 函数
- Rust学习笔记(13)——struct、Option和Box组合应用实现单向链表
- c++编写手机小游戏代码_经典小游戏大集合(C++ 源码)
- 你手机里的“微信”,可能是假的!
- Science | 植物和微生物的新途径:与共生微生物和病原微生物的相互作用驱动植物进化!...
热门文章
- Linux线程同步(三)---互斥锁源码分析
- oj 2143 图结构练习——最短路径的几种算法
- 寒假回归篇——C语言学习感悟2022.1.16
- 双十一最值得入手什么,盘点几款最实用的数码好物
- AddMvcCore,AddControllers,AddControllersWithViews,AddRazorPages的区别
- 安卓11客制需求:在设定时间开启深色主题模式,21点开启,次日8点关闭
- html中背景条纹效果,css3 条纹背景滚动效果
- SpringCloud与微服务Ⅴ --- Eureka服务注册与发现
- 什么 ? 陪玩都月入过忘拉~这不得python采集一下
- 04-深入浅出索引(上)