2023-01-25
一、redis中的数据类型
1、redis列表(List)
redis列表底层是一个双向链表。
(1)从左边/右边插入一个或多个值
lpush/rpush
例如:
(2)从左边/右边吐出一个值。值在键在,值光键亡
lpop/rpop
例如:
(3)从key1列表右边吐出一个值,插入到key2列表左边
rpoplpush
(4)按照索引下标获得元素(从左到右)
lrange
(5)按照索引下标获得元素(从左到右)
lindex
例如:
(6)获得列表长度
llen
例如:
(7)在的后面插入插入值
linsert before
例如:
插入后的数据
(8)从左边删除n个value(从左到右)
lrem
例如:
(9)将列表key下标为index的值替换成value
lset
例如:
2、redis中的Set
redis中的set是可以自动排重的,而且是无序集合。它的底层是一个value为null的hash表,所以增加,删除,查找的复杂度都是O(1)。
(1)将一个或多个member元素加入到集合key中,已经存在的member元素将被忽略
sadd
(2)取出该集合的所有值
smembers
注意:set集合中“去重,无序”
(3)判断集合是否为含有该值,有1,没有0
sismember
(4)返回该集合的元素个数
scard
(5)删除集合中的某个元素
srem
说明:删除两个元素之后,再次显示值,只剩下3个
(6)随机从该集合中吐出一个值
spop
(7)随机从该集合中取出n个值
srandmember
说明:从k4中随机取出2个值
(8)把集合中一个值从一个集合移动到另一个集合
smove
说明:将v1从k4集合中移到k5
(9)返回两个集合的交集元素
sinter
(10)返回两个集合的并集元素
sunion
(11)返回两个集合的差集元素(key1中的,不包含key2中的)
sdiff
2023-01-27
3、Hash
redis中的hash是一个键值对集合。hash适合用于存储对象。
(1)给集合中的键赋值
hset
(2)从集合取出value
hget
(3)批量设置hash的值
hmset
(4)查看哈希表key中,给定域field是否存在
hexists
说明:返回值是1,表示属性存在;返回值是0,表示属性不存在。
(5)列出该hash集合的所有field
hkeys
(6)列出该hash集合的所有value
hvals
(7)将哈希表key中的域field的值设置为value,当且仅当域field不存在
hset