Redis進(jìn)階系列二(數(shù)據(jù)類型-中)
1同木、list類型
需求:存儲多數(shù)據(jù)浮梢,按順序區(qū)分
底層:雙向鏈表來實現(xiàn)
相關(guān)指令:
-
lpush:從左添加,數(shù)據(jù)向左增長:
// 添加
lpush list1 a
lpush list1 b
lpush list1 c
// 顯示
lrange list1 0 2
//顯示結(jié)果
c b a
-
rpush:從右添加彤路,數(shù)據(jù)向右增長:
// 添加
rpush list2 a
rpush list2 b
rpush list2 c
// 顯示
lrange list1 0 2
//顯示結(jié)果
a b c
注意:lrange key start end 如果end等于-1黔寇,則表示最后一個
-
lindex:根據(jù)索引獲取值:
-
lpop:從左邊取出一個元素,并刪除斩萌,rpop:從右邊取出一個元素缝裤,并刪除:
-
blpop:從左邊取出一個元素,并刪除颊郎,brpop:從右邊取出一個元素憋飞,并刪除:
阻塞式取出一個元素,等待超時則返回nil
-
lrem:刪除某個元素:
2姆吭、set類型
Redis 的 Set 是 String 類型的無序集合榛做。集合成員是唯一的
Redis 中集合是通過哈希表實現(xiàn)的
-
sadd:添加:
-
SCARD set1:查看集合中的所有成員數(shù)量:
-
SMEMBERS set1:查看集合中的所有成員:
-
sinter set-1 set-2:交集
-
sunion set-1 set-2:并集
-
sdiff set-1 set-2:差集
-
擴(kuò)展
//把1,2的交集存到3中
sinterstore set-3 set-1 set-2
//把1,2的并集存到3中
sinterstore set-3 set-1 set-2
// 把1,2的差集存到3中
sdiffstore set-3 set-1 set-2
//把1中的v1移動到3中去
smove set-1 set-3 v1