redis列表類型有哪些?為了讓大家更加了解redis列表類型,小編給大家總結(jié)了以下內(nèi)容,一起往下看吧。
同心網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)成立與2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
Redis列表是簡(jiǎn)單的字符串列表,按照插入順序排序。你可以添加一個(gè)元素到列表的頭部(左邊)或者尾部(右邊)
一個(gè)列表最多可以包含 232 - 1 個(gè)元素 (4294967295, 每個(gè)列表超過40億個(gè)元素)。
{ 'numbers': [1, 2, 3, 4, 5, 6, 7,8] 'letters': ['a', 'b', 'c', 'd', 'e', 'f', 'g','h'] }
這就是列表類型,列表內(nèi)的元素必須是字符串,不能數(shù)據(jù)類型嵌套了。
列表類型的所有操作就是對(duì) key 對(duì)應(yīng)的列表操作,(想想都應(yīng)該有,添加,刪除,指定位置插入,指定位置刪除,彈出,切割,python中有的,我想redis應(yīng)該都有吧)
LPUSH key value [value ...] #向左側(cè)添加元素
redis 127.0.0.1:6379> lpush numbers 1 (integer) 1 redis 127.0.0.1:6379> lpush numbers 2 3 (integer) 3
RPUSH key value [value ...] # 向右側(cè)添加數(shù)據(jù)
LLEN key #獲取列表中元素的個(gè)數(shù)
redis 127.0.0.1:6379> llen numbers (integer) 3
LRANGE key sart stop # 獲取列表片段 類似于python的切片功能 ,差別在于切片時(shí)返回?cái)?shù)據(jù)包含stop位置數(shù)據(jù)
redis 127.0.0.1:6379> lrange numbers 0 -1 #獲取所有的列表內(nèi)數(shù)據(jù) "3" "2" "1"
redis 127.0.0.1:6379> lrange numbers 0 0 "3"
redis 127.0.0.1:6379> lrange numbers 0 5 "3" "2" "1"
redis 127.0.0.1:6379> lrange numbers 0 3 "3" "2" "1"
LPOP key # 從左側(cè)彈出一個(gè)元素
redis 127.0.0.1:6379> lrange numbers 0 -1 "3" "2" "1"
redis 127.0.0.1:6379> lpop numbers "3"
redis 127.0.0.1:6379> lrange numbers 0 -1 "2" "1"
RPOP #從右側(cè)彈出一個(gè)元素 原理同上
LREM key count value
# 刪除列表中的指定值
#count >0 從count的位置左邊開始刪除等于value的值
redis 127.0.0.1:6379> lrange numbers 0 -1 "4" "3" "2" "1"
redis 127.0.0.1:6379> lrem numbers 1 3 (integer) 1
redis 127.0.0.1:6379> lrange numbers 0 -1 "4" "2" "1"
#count >0 從count的位置左邊開始刪除等于value的值
#count=0 刪除所有值為value的元素
LINDEX key index #獲取指定索引的元素值
redis 127.0.0.1:6379> lrange numbers 0 -1 "4" "1"
redis 127.0.0.1:6379> lindex numbers 3 (nil) #沒有返回nil redis 127.0.0.1:6379> lindex numbers 1 "1" redis 127.0.0.1:6379> lindex numbers 0 "4"
LSET key index value # 設(shè)置指定位置的值,一定得注意,是把原先位置的給替換掉,除非原先這個(gè)位置沒有值
redis 127.0.0.1:6379> lrange numbers 0 -1 "4" "1" redis 127.0.0.1:6379> lset numbers 1 2 OK redis 127.0.0.1:6379> lset numbers 1 3 OK redis 127.0.0.1:6379> lrange numbers 0 -1 "4" "3"
NOTE:超出范圍設(shè)置為報(bào)錯(cuò)
redis 127.0.0.1:6379> lset numbers 2 3 (error) ERR index out of range
LTRIM key start end #切割原來的列表,指定范圍外的元素會(huì)被刪除
redis 127.0.0.1:6379> lrange numbers 0 -1 "4" "3" "2" "1"
redis 127.0.0.1:6379> ltrim numbers 1 2 OK redis 127.0.0.1:6379> lrange numbers 0 -1 "3" "2"
LINSERT key before|after pivot value # 向列表中插入值,看名字就應(yīng)該看出來了,在pivot 前面還是后面插入啊
redis 127.0.0.1:6379> lrange numbers 0 -1 "3" "2" redis 127.0.0.1:6379> linsert numbers after 2 1 (integer) 3 redis 127.0.0.1:6379> lrange numbers 0 -1 "3" "2" "1" redis 127.0.0.1:6379> lrange numbers 0 -1 "3" "2" "1" redis 127.0.0.1:6379> linsert numbers before 3 4 (integer) 4 redis 127.0.0.1:6379> lrange numbers 0 -1 "4" "3" "2" "1"
RPOPLPUSH source destination #將一個(gè)元素的從source右邊彈出,并加入到destination的左邊
redis> LRANGE alpha 0 -1 # 查看所有元素 "a" "b" "c" "d" redis> RPOPLPUSH alpha reciver # 執(zhí)行一次 RPOPLPUSH 看看 "d"
redis> LRANGE alpha 0 -1 "a" "b" "c" redis> LRANGE reciver 0 -1 "d"
以上就是redis列表類型有哪些的全部介紹了。另外創(chuàng)新互聯(lián)在今年春節(jié)期間,新上線了三款“云數(shù)據(jù)庫”的產(chǎn)品和服務(wù) :云數(shù)據(jù)庫MySQL、云數(shù)據(jù)庫Redis以及云數(shù)據(jù)庫Memcached。云數(shù)據(jù)庫Redis,則是一種即開即用、穩(wěn)定可靠的高性能數(shù)據(jù)緩存服務(wù),支持“主從熱備”,提供“自動(dòng)容災(zāi)切換、實(shí)例監(jiān)控、在線擴(kuò)容”等功能。