Redis命令使用方法

Set與getrange命令

一個鍵最多存儲512MB


語法:SET key value [EX seconds] [PX milliseconds] [NX|XX]

EX seconds:設置鍵的key的過期時間SET key value EX seconds -- SETEX

PX milliseconds:以毫秒的形式設置過期時間SET key value PX milliseconds--PSETEX

NX:只有鍵不存在的時候纔可以設置成功SET key value NX--SETNX

XX:只有key已經存在的時候纔可以設置

SET test16 'this is a test16' EX 100

Redis1.png

SET test17 'this is a test17' PX 20000


Redis2.png 


SET test18 'this is a test18' NX

SET test18 'this is a test18888' XX


Redis3.png 

Redis4.png 


SET test19 'this is a test19' EX 100 NX


Redis5.png 

Redis6.png 

 

SET test20 'this is a test20' EX 100 PX 300000 NX


Redis7.png 

 

SET testStr1 'this is a test'

注意:如果key存在,同名會產生覆蓋

 

Redis8.png


Redis9.png 




GETRANGE:返回字符串中一部分

 

語法:GETRANGE key start end

GETRANGE testStr2 0 4


redis13.png 

GETRANGE testStr2 0 -3

redis14.png

 

GETRANGE testStr2 -4 -2


redis15.png 

GETRANGE testStr2 0 1000


redis16.png


LLEN和LRANGE




LLEN:得到列表的長度

 

語法:LLEN key

 

LLEN myList2 (得到列表myList2的長度爲2)


Redis4.png


Redis5.png 


LLEN myList112 (因爲myList112 列表不存在,所以返回的是0)

 


LRANGE:獲取列表片段

 

語法:LRANGE key start stop (start是起始點,stop是結束點,獲取起始點和結束點中間這部分的片段。)

 

LRANGE myList1 0 -1  (獲取所有元素,其中0表示列表的第一個元素,-1表示列表的最後一個元素。)


Redis6.png 


LRANGE myList1 0 0  ( 獲取列表的第一個元素“e”)


Redis7.png 


LRANGE myList1 0 2 ( 獲取列表的前三個元素“e”“d”“c”)


Redis8.png 


LRANGE myList1 -3 -1 ( 獲取列表的最後三個元素“test2”“test3”“test3”)


Redis9.png 


LRANGE myList1 100 3(因爲start下標‘100’比列表的最大下標end ‘3’大,所以返回的空列表)


Redis10.png 

 

LRANGE myList1 0 1000(因爲myList1列表的長度爲10,即使stop比列表長度大,也依然返回到列表的末尾,所以還是返回myList1中的十個元素。)


Redis11.png 


LRANGE myList1 3 1000(如果stop比列表長度大,返回到列表的末尾,不能說是整個列表,因爲起始點不一定是列表的第一個元素,我們可以從列表的第四個元素開始。)


Redis12.png 


注意:

如果start下標比列表的最大下標end大,返回的空列表

如果stop比列表長度大,返回到列表的末尾


RPUSH:向列表右端添加元素


(一次添加一個或多個都可以,R代表Right)

 

語法:RPUSH key value ...

 

RPUSH myList1 test1 test2 test3 (向myList1列表中添加三個元素分別爲test1、test2 以及test3)


Redis7.png 


LRANGE myList1 0 -1  (這時,我們再查看一下列表元素。我們可以看出它先在列表右端插入test1,然後插入test2,最後插入test3,這樣的形式)


Redis8.png 


RPUSH myList1 test3 test4 (再來添加一個重複元素test3 ,也是可以的。)


Redis9.png 


LRANGE myList1 0 -1  (這時,我們再查看一下列表元素。可以看到即使是重複的元素也可以添加在同一個列表中。)


Redis10.png 

 


LPUSHX:向列表頭部添加元素,只有key存在再來添加

 

語法:LPUSHX key value

 

注意:一次只能添加一個值

 

EXISTS myList2 (看myList2 是否存在,存在返回1,不存在返回0。)


Redis11.png 

 

LPUSHX myList2 a (向列表myList2 頭部添加元素a,返回0表示添加不成功。)


Redis12.png 

 

LRANGE myList2 0 -1 (查看myList2 列表元素,返回empty list or set,表示列表元素爲空。)


Redis13.png 


EXISTS myList2 (我們還可以查看myList2 是否存在,存在返回1,不存在返回0。這就證明LPUSHX只能向存在的列表來添加元素,如果列表不存在,它不會先自動創建列表。)


Redis14.png 


LPUSH myList2 a  (因爲它不存在,所以先執行創建myList2這個列表的操作,再將a這個元素插入到我們的列表myList2 的左端。成功則返回列表的長度1,證明這個列表裏面有1個元素。)


Redis15.png 


LPUSHX myList2 b (這時,再向一個已存在的列表myList2中添加元素,就可以成功了。)


Redis16.png 


LRANGE myList2 0 -1 (我們再來得到一下myList2的元素)


Redis17.png 



RPUSHX:向列表尾部添加元素,只有key存在再來添加

 

語法:RPUSHX key value

注意:一次只能添加一個值,它的用法和LPUSHX一樣


LINDEX:獲得指定索引元素的值

 

語法:LINDEX key index

 

LINDEX myList2 3  (獲得myList2 列表中索引爲3的元素的值)


Redis1.png 


LINDEX myList2 3 5 (注意LINDEX 後面只能跟一個index,否則會報錯。)


Redis2.png 


LINDEX myList2 9 (獲得myList2 列表中索引9的元素的值)


Redis3.png


LINDEX myList2 -3  (獲得myList2 列表中索引爲-3,也就是說從後往前數的第三個元素的值。)


Redis4.png 


LINDEX myList2 1000  (獲得myList2 列表中索引爲1000的元素的值,因爲索引超出了列表的範圍,所以它返回的是nil。)


Redis5.png 

 


LSET:設置指定索引元素的值

 

語法:LSET key index value

 

LSET myList2 0 king (設置myList2 列表中第一個元素的值爲‘king’)


Redis6.png 


LRANGE myList2 0 0(這時我們再來獲取myList2 的第一個元素就變成了king)


Redis7.png 


LSET myList22 0 king(對於一個不存在的列表myList22進行設置,會報錯。)


Redis8.png 


LSET myList22 1000 king(超出列表索引範圍也會報錯)


Redis9.png


摘自http://www.maiziedu.com/wiki/redis/list2/



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章