03Redis資料型別之List型別

2021-08-09 01:49:31 字數 3046 閱讀 8508

list是乙個鍊錶結構,主要功能是push、pop、獲取乙個範圍之內的所有值等等,操作中key理解為鍊錶的名稱。redis的list型別其實就是乙個每個子元素都是string型別的雙向鍊錶。我們可以銅駝push、pop操作從鍊錶的頭部或者尾部新增刪除元素,這樣list既可以作為棧,又可以作為佇列。

2.1、lpush方法:在key對應的list的頭部新增字串元素。

eg:redis 127.0.0.1:6379>lpush  mylist 「world」

(integer)1

redis 127.0.0.1:6379>lpush  mylist 「hello」

(integer)2

redis 127.0.0.1:6379>lrange  mylist 0 -1  //從頭第乙個元素到尾第乙個元素。

「hello」

「world」

2.2、rpush方法:從key對應的list的尾部新增字串元素

不再舉例,和2.1類似,只是元素壓入方向不一樣而已。

2.3、linsert方法:在key對應list位置前或者後新增任意字串。

彌補了lpush,rpush方法只能在一端插入的不足。

eg:redis 127.0.0.1:6379>lpush  list3  「one」

redis127.0.0.1:6379>lpush  list3  「two」    

redis127.0.0.1:6379>linsert  list3  before one  three

redis127.0.0.1:6379>lrange  list3  0 -1

「two」

「three」

「one」

2.4、lset方法:設定指定下標的元素值。

redis127.0.0.1:6379>rpush mylist4 「hello」

redis127.0.0.1:6379>lset mylist4  0  「world」

redis127.0.0.1:6379>lrange  mylist4 0 -1

「world」

2.5、lrem:從key對應的list中刪除n個和value相同的元素。(n<0從尾刪除,n=0全部刪除)

redis127.0.0.1:6379>lpush list5 「one」

redis 127.0.0.1:6379>lpush list5 「one」

redis 127.0.0.1:6379>lpush list5 「two」

redis 127.0.0.1:6379>lpush list5 「three」

redis 127.0.0.1:6379>lpush list5 「one」

redis 127.0.0.1:6379>lrem list5 2 「one」

(integer)2

redis 127.0.0.1:6379>lrange list5 0 -1

「two」

「three」

「one」

2.6、ltrim方法:保留指定key的值範圍內的資料(包括兩側範圍值)

redis 127.0.0.1:6379>rpush mylist6 「one」

redis 127.0.0.1:6379>rpush mylist6 「two」

redis 127.0.0.1:6379>rpush mylist6「three」

redis 127.0.0.1:6379>rpush mylist6「four」

redis 127.0.0.1:6379>lrim mylist6 1 2

(integer)2

redis 127.0.0.1:6379>lrange mylist6 0 -1

「two」

「three」

2.7、lpop方法:從list的頭部刪除元素,並返回刪除元素。

redis 127.0.0.1:6379>rpush mylist10 「one」

redis 127.0.0.1:6379>rpush mylist10「two」

redis 127.0.0.1:6379>rpush mylist10「three」

redis 127.0.0.1:6379>lpop mylist10

「one」

2.8、rpop方法:從list的尾部刪除元素,並返回刪除元素。

2.9、rpoplpush方法:從第乙個list的尾部移除元素到第二個list的頭部。

eg:redis 127.0.0.1:6379>rupshmylist11 「one」

redis 127.0.0.1:6379>rpush mylist11「two」

redis 127.0.0.1:6379>rpush mylist12「three」

redis 127.0.0.1:6379>rpush mylist13「four」

redis 127.0.0.1:6379>rpoplpush mylist11mylist12

redis 127.0.0.1:6379>lrange mylist11 0-1

「one」

redis 127.0.0.1:6379>lrange mylist11 0-1

「two」

「three」

「four」

2.10、lindex方法;返回名稱為key的list中index位置的元素。

eg: redis 127.0.0.1:6379>lpush mylist12「one」

redis 127.0.0.1:6379>lpush mylist12「two」

redis 127.0.0.1:6379>lindex mylist12 0

「one」

2.11、llen方法:返回key對應的list的長度。

eg:redis 127.0.0.1:6379>rpushmylist13  「one」

redis 127.0.0.1:6379>rpush mylist13「two」

redis 127.0.0.1:6379>rpush mylist13「three」

redis 127.0.0.1:6379>llen mylist13

(integer)3

Redis之資料型別

與mysql資料庫支援的多種資料型別相比,redis資料庫支援的資料型別要少上許多。redis資料庫支援五種資料型別 string 字串 hash 雜湊 list 列表 set 集合 及zset sorted set 有序集合 string 是 redis 最基本的型別,你可以理解成與 memcac...

03 資料型別

值型別 基本資料型別是go語言實際的原子,復合資料型別是由不同的方式組合基本型別構造出來的資料型別,如 陣列,slice,map,結構體 整型 int8 uint 基礎型別之數字型別 浮點型 float32,float64 基礎型別之數字型別 複數 基礎型別之數字型別 布林型 bool 基礎型別,只...

03 資料型別

資料型別包括 基本資料型別和引用資料型別。基本資料型別指的是簡單的資料段,引用資料型別指的是有多個值構成的物件。當我們把變數賦值給乙個變數時,解析器首先要確認的就是這個值是基本型別值還是引用型別值。1 基本資料型別 number var a 123 typeof 檢查當前變數是什麼資料型別 cons...