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