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...