2023-01-25 一、redis中的數據類型 1、redis列表(List) redis列表底層是一個雙向鏈表。 (1)從左邊/右邊插入一個或多個值 lpush/rpush <key><value1><value2><value3> 例如: (2)從左邊/右邊吐出一個值。值在鍵在,值光鍵亡 lp ...
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中的Set
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>