Redis的數據結構類型,指的是redis的值的value類型; Redis的常用數據結構類型:string,list,set,sortedSet,hash 一.sting的類型 string類型是redis最常見的數據結構類型,存儲的值為字元串。 1.1String相關命令 set key val ...
Redis的數據結構類型,指的是redis的值的value類型;
Redis的常用數據結構類型:string,list,set,sortedSet,hash
一.sting的類型
string類型是redis最常見的數據結構類型,存儲的值為字元串。
1.1String相關命令
set key value :設置一個key,值為value,類型為String類型;如果這個key已經存在,則更新這個key的值。
返回值
1表示成功
0表示失敗
setnx key vale:如果這個key不存在,則設置一個key,值為value;如果key存在,則不做更新。
返回值
1表示成功
0表示失敗
get key:獲取對應的value值;如果key不存在,則返回nil。
incr key:將key中存儲的數字值增一,然後返回。如果這個key不存在,那麼key的值會先被初始化為0,然後再執行INCR操作。如果這個key對應的value值,不能表示數字,則會返回一個錯誤。
incrby key increment:將key增加指定步長。
decr key:將key中儲存的數字值減一,然後返回。如果這個key不存在,那麼key的值會先被初始化為0,然後再執行INCR操作。如果這個key對應的value值,不能表示數字,則會返回一個錯誤。
decrby key decrement:將key減少對應的步長值。
append key value:如果key已經存在,則將value追加到這個key原先的value值的末尾。如果這個key不存在,則執行set操作。
Redis的key是單線程模式,這意味著一瞬間只有一個線程能夠持有這個key,所以,可以使用redis解決部分涉及線程安全的業務。
二.List類型
1.特點
(1)基於Linked List實現
(2)元素是字元串類型
(3)列表頭尾增刪快,中間增刪慢,增刪元素是常態
(4)元素可以實現重現
(5)最多包含2^32-1元素
2.List類型相關命令
lpush key value [value ...]:將一個或多個value插入到列表key的表頭(即從左邊插入);如果有多個value值,那麼各個value值按從左到右的順序依次插入表頭;如果key不存在,一個空列表會被創建並執行LPUSH操作,當key存在但不是列表類型時,返回一個錯誤。
rpush key value [value...]:尾部添加(從右向左),操作同上。
llen key :返回key對應list長度,key不存在返回0,如果key對應類型不是list返回錯誤。
lindex key index:index元素在list列表的下角標,從0開始;lindex是從左到右取元素。
lrange key start stop:獲取指定區間的所有元素;下角標從0開始,0表示第一個元素,1表示第二個,以此類推;-1表示最後一個元素,-2表示倒數第二個元素,以此類推。
lpop key :移除並返回列表中的第一個元素。
rpop key:移除並返回列表中的最後一個元素。
三.Hash類型(散列)
1.特點
(1)由Field和之關聯的value組成map鍵值對
(2)field和value是字元串類型;
(3)一個hash中最多包含2^32-1鍵值對。
2.Hash相關命令
hset key field value:設置hash field為指定值,如果key不存在,則先創建,如果field已經存在那麼將更新這個field的值。
hget key field:獲取指定的hash field
hmget key filed1...fieldN:獲取全部指定的hash field
hmset key filed1 value1 ... filedN valueN:同時設置hash的多個field
hexists key field:測試指定field是否存在
hdel key field:刪除指定的hash field
hlen key:返回指定hash的field數量
hkeys key:返回hash的所有field
hvals key:返回hash的所有value
hgetall:返回hash的所有filed和value
四:Set相關命令
1.特點
(1)無序的,去重的;
(2)元素是字元串類型;
(3)最多包含2^32-1元素。
2.Set相關命令
sadd key member [member ...](無序不重覆):將一個或多個 member 元素加入到集合key 當中,已經存在於集合的 member 元素將被忽略。假如 key 不存在,則創建一個只包含 member 元素作成員的集合。當 key 不是集合類型時,返回一個錯誤。
smembers key:返回集合 key 中的所有成員。不存在的 key 被視為空集合。
spop key:移除並返回集合中的一個隨機元素。被移除的隨機元素。當key不存在或key是空集時,返回nil。
scard key:返回集合key的基數(集合中元素的數量)。集合的基數。當key不存在時,返回0。
交集、並集、差集sinter sunion sdiff
sinter key [key ...]:返回一個集合的全部成員,該集合是所有給定集合的交集。不存在的 key 被視為空集。
sunion key [key ...]:返回一個集合的全部成員,該集合是所有給定集合的並集。不存在的 key 被視為空集。
sdiff key [key ...]:返回一個集合的全部成員,該集合是所有給定集合之間的差集。不存在的 key 被視為空集。