第05课:Redis

第05课:Redis Client 的使用及命令

本章节我们介绍一下实际工作中 Redis 常用的一些工具和命令。

一. Redis Desktop Manager 开源工具

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 按钮,创建链接。

connect to redis server

(4)实际使用如下图:

Redis Desktop Manager

可以发现第04课里面举的例子,在这个控制台看到了。

(5)查看 Redis 系统使用基本信息,这里举例看一下,如下:

Redis Info

Redis Info

(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 上的。所以可以结合起来一起体会一下,有个整体客观的认识。

RedisTemplate zadd

当我们使用这些命令的时候,可以结合工具 Redis Desktop Manager,这样就会一目了然的认识了,对 Redis 不同的数据结构有深刻的认识,更多命令大家直接参考 Redis 官方命令

三. 高危险命令

(1)删除当前选择数据库中的所有 key:flushdb
(2)删除所有的数据库中的所有 key:flushall

一般以上两个命令是禁止在生产直接使用的,大家不要踩到坑里了。高并发情况下,会引起大量缓存失效,如果用 token 的话,可能会导致大量用户被踢出。

四. Redis 监控

(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

我们实际运行的效果如下:

redis-stat

还有个控制台如下:

redis-stat DashBoard

(3)总结:当我们知道,我们自己想要的是什么的时候其实开源的工具还是很多的,更多工具请大家到 Github 上探寻吧。

上一篇
下一篇
目录