在redis
中,list
型別是按照插入順序排序的字串鍊錶。和資料結構中的普通鍊錶一樣,我們可以在其頭部
(left)
和尾部(right)
新增新的元素。在插入時,如果該鍵並不存在,
redis
將為該鍵建立乙個新的鍊錶。與此相反,如果鍊錶中所有的元素均被移除,那麼該鍵也將會被從資料庫中刪除。
list
中可以包含的最大元素數量是
4,294,967,295(42
億左右)。#
在指定key
所關聯的
list value
的尾部插入引數中給出的所有
values
。如果該
key不存在,該命令將在插入之前建立乙個與該
key關聯的空鍊錶,之後再將資料從鍊錶的尾部插入。如果該鍵的
value
不是鍊錶型別,該命令將返回相關的錯誤資訊。
void rpush(final string key, final string... string)
#在指定
key所關聯的
list value
的頭部插入引數中給出的所有
values
。如果該
key不存在,該命令將在插入之前建立乙個與該
key關聯的空鍊錶,之後再將資料從鍊錶的頭部插入。如果該鍵的
value
不是鍊錶型別,該命令將返回相關的錯誤資訊。
void lpush(final string key, final string... string)
#返回指定
key關聯的鍊錶中元素的數量,如果該
key不存在,則返回
0。如果與該
key關聯的
value
的型別不是鍊錶,則返回相關的錯誤資訊。
long llen(final string key)
#返回指定範圍內元素的列表。該命令的引數
start
和end
都是0-based。即0
表示鍊錶頭部
(leftmost)
的第乙個元素。其中
start
的值也可以為負值,
-1將表示鍊錶中的最後乙個元素,即尾部元素,
-2表示倒數第二個並以此類推。該命令在獲取元素時,
start
和end
位置上的元素也會被取出。如果
start
的值大於鍊錶中元素的數量,空煉表將會被返回。如果
end的值大於元素的數量,該命令則獲取從
start(
包括start)
開始,鍊錶中剩餘的所有元素。
listlrange(final string key, final long start, final long end)
#該命令將僅保留指定範圍內的元素,從而保證鏈結中的元素數量相對恆定。
start
和stop
引數都是
0-based,0
表示頭部元素。和其他命令一樣,
start
和stop
也可以為負值,
-1表示尾部元素。如果
start
大於鍊錶的尾部,或
start
大於stop
,該命令不錯報錯,而是返回乙個空的鍊錶,與此同時該
key也將被刪除。如果
stop
大於元素的數量,則保留從
start
開始剩餘的所有元素。
void ltrim(final string key, final long start, final long end)
#該命令將返回鍊錶中指定位置
(index)
的元素,
index
是0-based
,表示頭部元素,如果
index為-1
,表示尾部元素。如果與該
key關聯的不是鍊錶,該命令將返回相關的錯誤資訊。
byte lindex(final string key, final long index)
#設定鍊錶中指定位置的值為新值,其中
0表示第乙個元素,即頭部元素,
-1表示尾部元素。如果索引值
index
超出了鍊錶中元素的數量範圍,該命令將返回相關的錯誤資訊。
void lset(final string key, final long index, final string value)
#在指定
key關聯的鍊錶中,刪除前
count
個值等於
value
的元素。如果
count大於0
,從頭向尾遍歷並刪除,如果
count小於0
,則從尾向頭遍歷並刪除。如果
count等於0
,則刪除鍊錶中所有等於
value
的元素。如果指定的
key不存在,則直接返回
0,返回被刪除的元素數量。
long lrem(final string key, long count, final string value)
#返回並彈出指定
key關聯的鍊錶中的第乙個元素,即頭部元素。如果該
key不存,返回
null
。byte lpop(final string key)
#返回並彈出指定
key關聯的鍊錶中的最後乙個元素,即尾部元素。如果該
key不存,返回
null
。byte rpop(final string key)
#原子性的從與
srckey
鍵關聯的鍊錶尾部彈出乙個元素,同時再將彈出的元素插入到與
dstkey
鍵關聯的鍊錶的頭部。如果
srckey
鍵不存在,該命令將返回
null
,同時不再做任何其它的操作了。如果
srckey
和dstkey
是同乙個鍵,則相當於原子性的將其關聯鍊錶中的尾部元素移到該鍊錶的頭部。
byte rpoplpush(final string srckey, final string dstkey)
Jedis事務詳解
1 正常執行的事務 編碼測試 package com.haiyang import com.alibaba.fastjson.jsonobject import redis.clients.jedis.jedis import redis.clients.jedis.transaction publ...
jedis操作封裝
為什麼我們要封裝jedis?1.每次使用需要釋放資源,2.每次使用需要轉換型別 3.多人開發,key儲存可能覆蓋 根據上述問題,封裝適合自己專案的操作類 針對1 2問題,我們簡單封裝jedisserver public class redisservice finally 設定物件 public b...
Jedis相關操作api list
long rpush string key,string strings 在頭部新增字串值 lpush 和尾 rpush 儲存在key列表。如果key不存在,則在追加操作前建立空列表。如果key存在,但不是列表,則返回錯誤。返回的是成功插入的個數。long lpush string key,stri...