Redis List集合 使用

2022-08-15 11:42:11 字數 1757 閱讀 2803

列表型別(list)用於儲存乙個有序的字串列表,常用的操作是向佇列兩端新增元素或者獲得列表的某一片段。列表內部使用的是雙向鍊錶(double linked list)實現的,所以向列表兩端新增元素的時間複雜度是o(1),獲取越接近列表兩端的元素的速度越快。但是缺點是使用列表通過索引訪問元素的效率太低(需要從端點開始遍歷元素)。

redis列表的操作命令和對應的api如下:

lpush/rpush [list] [value]

jedisapi:public long lpush/rpush(final string key, final string... string)

功能:從頭/尾部向list新增值,返回list長度

lrange [list] start end

jedisapi:public listlrange(final string key, final long start, final long end)

功能:返回list對應索引區間的值

linsert [list] [before/after] 'value1' 'value2'

jedisapi:public long linsert(final string key, final list_position where, final string pivot, final string value)

功能:在list的value1的前面/後面插入value2

lset [list] index 『value』

jedisapi:public string lset(final string key, final long index, final string value)

功能:在特定索引插入value,注意:如果index為負值,則從list尾部開始算起

lrem [list] num 'value'

jedisapi:public long lrem(final string key, final long count, final string value)

功能:從list中刪除num個和value相同的值,若num>0,則從鏈頭算起,若<0則從鏈尾算起,若=0則刪除全部

ltrim [list] start end

jedisapi:public string ltrim(final string key, final long start, final long end)

功能:僅保留list中索引從start到end的值

lpop [list]

jedisapi:public string lpop(final string key)

功能:從頭部刪除元素,同時返回該元素

rpop [list]

jedisapi:public string rpop(final string key)

功能:從尾部刪除元素並返回

rpoplpush [list1] [list2]

jedisapi:無

功能:從list1的尾部移除元素並新增到list2的頭部,最後返回被移除的元素值,整個操作是原子的.如果list1是空或者不存在返回 nil

lindex [list]

jedisapi:public string lindex(final string key, final long index)

功能:index 返回list中index索引位置的元素

llen [list]

jedisapi:public long llen(final string key)

功能:返回list的長度

Redis list型別操作

在key對應list頭部新增字串 lpush key string 從list頭部刪除,返回刪除的元素 lpop key 在尾部新增 rpush key string 在list尾部刪除元素,返回刪除的元素 rpop key 對應list的長度 key不存在返回0,如果key對應的型別不是list則...

Redis List 基本用法

它是乙個字串鍊錶,ieft rght 都可以插入新增 如果鍵不存在,建立新的鍊錶 如果鍵已存在,新增內容 如果值全移除,對應的鍵也就消失了 鍊錶的操作無論是頭和尾效率都極高,但假如是對中間元素進行操作,效率就很慘淡了 redis 列表是簡單的字串列表,按照插入順序排序。你可以新增乙個元素導列表的頭部...

Redis List 命令技巧

lpush lpop stack 127.0.0.1 6379 lpush mylist 123 45 integer 5127.0.0.1 6379 lpop mylist 5 127.0.0.1 6379 lpop mylist 4 127.0.0.1 6379 lrange mylist 0 ...