Redis所有命令文档网站: https://redis.io/commands/
Windows 可以采用 redis-cli.exe 来去执行
Mac/Linux 直接启动 ./redis-cli.sh -p 6379
Redis-Cli连接Redis服务器
# 连接的完整参数 -h host 也就是IP, -p port 指定端口, -a password 密码
./redis-cli -h host -p port -a password
# 完整实例:
./redis-cli -h 127.0.0.1 -p 6379 -a 123456
# 一般来说 本机直接即可
./redis-cli
String常用命令
Redis键的分级存储
Hash常用命令:无序,不可重复
Hash存储样式
List常用命令:有序,可重复
List存储样式
如何利用Redis List结构实现栈、队列、阻塞队列?⭐️⭐️⭐️
栈:先进后出,插入值使用LPUSH,读取时使用LPOP。可以理解为 入口出口一个地方
队列:先进先出,插入值使用LPUSH,读取时使用RPOP。可以理解为 入口出口不是一个地方
阻塞队列:因为队列是先进先出结构,阻塞队列使用读取的阻塞命令即可。插入值使用LPUSH,读取使用BRPOP
SET结构:无需,不可重复,支持并集、差集、交集
好友关系Demo
# 定义一些好友元素关系
SADD zs A B C
SADD ls B C D
# 查询zs与ls共同好友
SINTER zs ls
# 查询zs比ls多的好友
SDIFF zs ls
# 查询B是不是zs的好友 (返回1 代表true,返回0代表false)
SISMEMBER zs D
SortedSet基本命令:类似于TreeSet 可排序、不可重复。常用于排行榜
注意:默认命令是升序的,如果需要设定倒叙,请将命令首字母Z后面添加REV,代表降序
榜单排名Demo
# 插入数据
ZADD Pay-List 10 zhangsan 15 lisi 100 wangwu 1000 zhaoliu
# 获取榜单前3名,注意,命令参数是索引
ZRANGE Pay-List 0 2
# 获取李四的排名 注意,返回的是索引,真实排名需要+1
ZRANK lisi
下文本来想删掉的,但整理了很久,留着吧
- set 插入一个键值对,注意set未来可能会替换一些无效的key了
- 格式:set <key> <value> <可选过期单位,EX代表描述> <可选过期时间>
setex 插入一个键值对,可指定过期时间格式:setex <key> <过期秒数> <value>
- append 键存在且不是数字,拼接一个字符串到value在后面。如果键不存在,在操作之前将value设定为空字符串
- 格式:append <key> <String>
- exists 判断(1个或多个)key是否存在,返回存在key的数量
- 格式:exists <key... 可输入多个key,以空格分开>
- get 读取键值
- 格式:get <key>
- getex 读取键值后,可指定过期时间(可选时间单位)
- 格式:getex <key> <可选时间单位,EX代表秒数> <时间数值>
- del 删除某个键值对,返回删除的键数
- 格式:del <key... 可输入多个key,以空格分开>
- incr 将键对应的value加1。如果该键不存在,在执行操作之前将value设置为0
- 格式:incr <key>
- decr 将键对应的value减1。如果该键不存在,在执行操作之前将value设置为0
- 格式:decr <key>
- incrby 将存储的数字value增加任意数字。如果该键不存在,在执行操作之前将value设置为0
- 格式:incrby <key> <number>
- decrb 将存储的数字value减少任意数字。如果该键不存在,在执行操作之前将value设置为0
- expire 给key 指定过期时间
- 格式:expire <key> <过期秒数>
- ttl 显示键的过期时间 (2.8版本以后 -1:没有设置过期时间,-2:不存在或已经过期)
- 格式:ttl <key>
- rename 重命名key的名称
- 格式:rename <old-key> <new-key>
特别说明:incr、decr、incrby等一系列操作,不得将数据超过2的32次方减一与-2的32次方
特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤