本章节我们介绍一下实际工作中 Redis 常用的一些工具和命令。
Redis Desktop Manager 是一个永远多个操作系统的,开源的,Redis Ui 工具。支持 Windows 10、Mac OS X 10.12、Ubuntu 16、LinuxMint | Fedora | CentOS | OpenSUSE ,这么多操作系统,并且社区还非常活跃,作者吐血推荐。
(1)Git Hub 地址,详见 这里。
(2)下载 Git hub release 里面的安装文件。
(3)安装完毕,打开如下图,单击 connect to redis server 按钮,创建链接。
(4)实际使用如下图:
可以发现第04课里面举的例子,在这个控制台看到了。
(5)查看 Redis 系统使用基本信息,这里举例看一下,如下:
(6)通过控制台可以做的事情有:
- 看清楚我们通过 Spring Data Redis 创建的所有的 key 和 value 是什么样子的。
- 可以直接对 key、value 进行界面上的操作(添加、删除、更新、刷新)。
- 可以直接打开 Redis Client(类似 src/redis-cli)。
- 非常清楚的看到 Redis Server 上的 redis db0 db1 ....等库的分配和使用情况(会发现其实大部分公司都是使用的 db0,其实不同的业务可以放在不同的 db 里面,这里逻辑比较清晰,也不会有重复覆盖问题)。
- 可以看到 RedisServer 的监控信息。
(7)希望此工具可以改进的地方
- Sentinel 哨兵模式支持的不是特别好。
- master/savler 模式支持的不是特别好,要自己一个一个连接上去才知道。
- pool 的监控也比较少。
命令行可以用两种方式:
- Redis 安装目录下面的 src 目录里面的 redis-cli。
- 上面工具提到的控制台(推荐使用这个,这样可以实时看到自己的操作变化)。
针对开篇提到的操作 Redis 的简单的数据结构命令如下。
(1)切换数据库(默认 Redis 开启16个库)可以同过如下命令切换数据库
127.0.0.1:0>select 2
"OK"
127.0.0.1:0>select 1
"OK"
(2)Redis Strings 类型操作
127.0.0.1:1>set key1 jack
"OK"
127.0.0.1:1>get key1
"jack"
(3)Redis lists 基本类型操作
- LPUSH 命令可向 list 的左边(头部)添加一个新元素。
- RPUSH 命令可向 list 的右边(尾部)添加一个新元素。
- lrange 取 list 元素。
127.0.0.1:1>rpush listdemo a
"1"
127.0.0.1:1>rpush listdemo B
"2"
127.0.0.1:1>rpush listdemo 3
"3"
127.0.0.1:1>lrange listdemo 0 -1
1) "a"
2) "B"
3) "3"
(4)Redis hash 类型操作
127.0.0.1:1>hmset user:1 name jack age 20 address shanghai
"OK"
127.0.0.1:1>hget user:1 name
"jack"
127.0.0.1:1>hgetall user:1
1) "name"
2) "jack"
3) "age"
4) "20"
5) "address"
6) "shanghai"
(5)Redis sorted set 有序集合操作
127.0.0.1:1>zadd linkedset 1 redis
"1"
127.0.0.1:1>zadd linkedset 2 mongodb
"1"
127.0.0.1:1>zadd linkedset 3 mysql
"1"
127.0.0.1:1>zrange linkedset 0 -1
1) "redis"
2) "mongodb"
3) "mysql"
(6)总结
当调用 RedisTemplate 和 StringRedisTemplate 相关的 API 的时候其实内部就是 socket 直接发送的 Redis Commands 到 Redis Server 上的。所以可以结合起来一起体会一下,有个整体客观的认识。
当我们使用这些命令的时候,可以结合工具 Redis Desktop Manager,这样就会一目了然的认识了,对 Redis 不同的数据结构有深刻的认识,更多命令大家直接参考 Redis 官方命令。
(1)删除当前选择数据库中的所有 key:flushdb
(2)删除所有的数据库中的所有 key:flushall
一般以上两个命令是禁止在生产直接使用的,大家不要踩到坑里了。高并发情况下,会引起大量缓存失效,如果用 token 的话,可能会导致大量用户被踢出。
(1)管理员的监控命令
查看统计信息 127.0.0.1:1>info
查看客户端列表 127.0.0.1:1>client list
获取慢查询 127.0.0.1:1>showlog get 10
检查连接数 127.0.0.1:1>info total_connections_received
更多命令大家看 Gitbooks 地址:管理员命令大全
(2)redis-stat 推荐
redis-stat 是一个 Github 上开源的 redis-server 的监控工具,Github 地址:https://github.com/junegunn/redis-stat。
我们实际运行的效果如下:
还有个控制台如下:
(3)总结:当我们知道,我们自己想要的是什么的时候其实开源的工具还是很多的,更多工具请大家到 Github 上探寻吧。