@@ -636,31 +636,31 @@ Redis 提供了多种数据类型,每种类型都适用于不同的应用场
636
636
637
637
1 . ** 字符串(String)** :
638
638
639
- 2 . - ** 描述** :最基本的 Redis 数据类型,二进制安全,可以包含任何数据,比如文本或序列化的对象。
639
+ - ** 描述** :最基本的 Redis 数据类型,二进制安全,可以包含任何数据,比如文本或序列化的对象。
640
640
- ** 应用场景** :缓存数据、计数器、会话信息等。
641
641
- ** 常用命令** :` SET ` 、` GET ` 、` INCR ` 、` DECR ` 、` APPEND ` 、` STRLEN ` 。
642
642
643
- 3 . ** 哈希(Hash)** :
643
+ 2 . ** 哈希(Hash)** :
644
644
645
- 4 . - ** 描述** :用于存储键值对集合,适合存储对象。
645
+ - ** 描述** :用于存储键值对集合,适合存储对象。
646
646
- ** 应用场景** :存储用户信息(如用户名、密码、邮箱等)。
647
647
- ** 常用命令** :` HSET ` 、` HGET ` 、` HGETALL ` 、` HDEL ` 、` HEXISTS ` 、` HINCRBY ` 。
648
648
649
- 5 . ** 列表(List)** :
649
+ 3 . ** 列表(List)** :
650
650
651
- 6 . - ** 描述** :有序的字符串列表,可以从两端插入和移除元素。
651
+ - ** 描述** :有序的字符串列表,可以从两端插入和移除元素。
652
652
- ** 应用场景** :消息队列、任务列表、时间线等。
653
653
- ** 常用命令** :` LPUSH ` 、` RPUSH ` 、` LPOP ` 、` RPOP ` 、` LRANGE ` 、` LINDEX ` 。
654
654
655
- 7 . ** 集合(Set)** :
655
+ 4 . ** 集合(Set)** :
656
656
657
- 8 . - ** 描述** :无序的字符串集合,不允许重复元素。
657
+ - ** 描述** :无序的字符串集合,不允许重复元素。
658
658
- ** 应用场景** :标签、唯一性检查、共同好友等。
659
659
- ** 常用命令** :` SADD ` 、` SREM ` 、` SMEMBERS ` 、` SISMEMBER ` 、` SUNION ` 、` SINTER ` 。
660
660
661
- 9 . ** 有序集合(Sorted Set)** :
661
+ 5 . ** 有序集合(Sorted Set)** :
662
662
663
- 10 . - ** 描述** :类似集合,但每个元素都会关联一个分数,用于排序。
663
+ - ** 描述** :类似集合,但每个元素都会关联一个分数,用于排序。
664
664
- ** 应用场景** :排行榜、带权重的队列等。
665
665
- ** 常用命令** :` ZADD ` 、` ZREM ` 、` ZRANGE ` 、` ZRANK ` 、` ZINCRBY ` 、` ZREVRANGE ` 。
666
666
@@ -760,6 +760,7 @@ public class MgetCommand implements Command {
760
760
不同的指令实现上,除了操作具体的数据类型,如String、List、Hash等,最重要的是做指令解析,要识别出命令中 [ 哪些是key?,哪些是val?]
761
761
762
762
如:左边是命令,右边是RESP的中具体的格式
763
+ ``` java
763
764
764
765
del a b c ===> * 4 ,$3 ,del,$1 ,a,$1 ,b,$1 ,c
765
766
@@ -770,6 +771,7 @@ rpsuh a 2 3 ===> *4,$5,rpush,$1,a,$1,2,$1,3
770
771
sismember s1 2 ===> * 3 ,$9 ,sismember,$2 ,s1,$1 ,2
771
772
772
773
incr a 1 ===> * 3 ,$4 ,incr,$1 ,a,$1 ,1
774
+ ```
773
775
774
776
具体代码实现如下:
775
777
@@ -1998,27 +2000,27 @@ public class LuaTest {
1998
2000
1999
2001
** String类型**
2000
2002
2001
- <img src =" https://ipman-1304583208.cos.ap-nanjing.myqcloud.com/rpcman/2024-08-10-100355.png " alt =" image-20240810173236572 " style =" zoom : 50 % ;" />
2003
+ <img src =" https://ipman-1304583208.cos.ap-nanjing.myqcloud.com/rpcman/2024-08-10-100355.png " alt =" image-20240810173236572 " style =" width : 800 px ;" />
2002
2004
2003
2005
** Hash类型**
2004
2006
2005
- <img src =" https://ipman-1304583208.cos.ap-nanjing.myqcloud.com/rpcman/2024-08-10-100420.png " alt =" image-20240810173246609 " style =" zoom : 50 % ;" />
2007
+ <img src =" https://ipman-1304583208.cos.ap-nanjing.myqcloud.com/rpcman/2024-08-10-100420.png " alt =" image-20240810173246609 " style =" width : 800 px ;" />
2006
2008
2007
2009
** List类型**
2008
2010
2009
- <img src =" https://ipman-1304583208.cos.ap-nanjing.myqcloud.com/rpcman/2024-08-10-100445.png " alt =" image-20240810173259314 " style =" zoom : 50 % ;" />
2011
+ <img src =" https://ipman-1304583208.cos.ap-nanjing.myqcloud.com/rpcman/2024-08-10-100445.png " alt =" image-20240810173259314 " style =" width : 800 px ;" />
2010
2012
2011
2013
2012
2014
2013
2015
** Set类型**
2014
2016
2015
- <img src =" https://ipman-1304583208.cos.ap-nanjing.myqcloud.com/rpcman/2024-08-10-100503.png " alt =" image-20240810173309563 " style =" zoom : 50 % ;" />
2017
+ <img src =" https://ipman-1304583208.cos.ap-nanjing.myqcloud.com/rpcman/2024-08-10-100503.png " alt =" image-20240810173309563 " style =" width : 800 px ;" />
2016
2018
2017
2019
2018
2020
2019
2021
** ZSet类型**
2020
2022
2021
- <img src =" https://ipman-1304583208.cos.ap-nanjing.myqcloud.com/rpcman/2024-08-10-100523.png " alt =" image-20240810173320575 " style =" zoom : 50 % ;" />
2023
+ <img src =" https://ipman-1304583208.cos.ap-nanjing.myqcloud.com/rpcman/2024-08-10-100523.png " alt =" image-20240810173320575 " style =" width : 800 px ;" />
2022
2024
2023
2025
2024
2026
@@ -2078,4 +2080,4 @@ class CacheTestJedisApplicationTests {
2078
2080
2079
2081
# 总结
2080
2082
2081
- 以上只是一个单机版本、没有HA的简易RedisLike版本,主要是能够加深对Redis缓存使用及原理的理解。
2083
+ 以上只是一个单机版本、没有HA的简易RedisLike版本,主要是能够加深对Redis缓存使用及原理的理解。
0 commit comments