一、Redis数据类型
1.Redis 5种常用数据类型
注:这里说的数据类型,指的都是value的数据类型,因为key都是固定的字符串类型
1.1字符串string常用操作命令
说明:SETEX key seconds values最常用的场景就是 验证码的有效期限,将验证码放入redis中,在有效期到了后,就会自动的删除。
SetNX key value常用的场景就是分布式锁
注:执行 set age 20
再执行 set age 30
最后 get age --> “30”
当key相同时,后边设置的value会将前边设置的value覆盖
1.2哈希 hash 操作命令
1.3列表list 操作命令 ![在这里插入图片描述](https://img-blog.csdnimg.cn/c1ad1ebc6cd6497f9ef243cbb5cd39b7.png
**lpush key value1 value2 -->将一个或多个值插入到列表头部
注:1.可以看到 插入顺序为 a b c,但是获取顺序是 b c d,说明后插入的元素回到列表的头部。
2.lrange 获取列表指定范围内的元素. 如果是0 -1 则是返回列表所有的元素 。
RPOP key 移除并获取列表最后一个元素
可以看到rpop是移除并获取列表的最后一个元素
BRPOP key1 [key2] timeout移除并获取列表的最后一个元素,或者发现可弹出元素为止
可以发现原本 mylist中还有元素,接着继续执行brpop指令,元素弹出完毕之后,就会阻塞,这里设置的是10s,则阻塞10s后就会超时返回**
1.4集合set操作命令
说明:1.sadd key member1[member2]向集合添加一个或多个成员,添加的元素是无序的
2.sinter key1 key2 -->返回所有集合交集。
例如 : myset1 中有元素 a d b c
myset2 中有元素 m s a b
sinter key1 key2 则返回 a b(无序的)
3.sunion key1 [key2] 返回所有给定集合的并集
例如2.返回 a b m s d c(无序)
4.sdiff [key1] [key2] 返回给定所有集合的差集
例如 2–> sdiff myset1 myset 则返回 c d -->重点在于前面的key1中的元素