redis5資料型別詳解
redis除了可以儲存鍵還可以儲存常見的5種資料型別,分別是:string、list、set、hash、zset。對於redis的命令有一部分是可以公用的,但是還有一些其他的命令是屬於特殊使用的。
首先看看一張關於redis5種資料結構的對比:
下邊就分別介紹5中國不同的資料結構型別。
redis中的string型別就是乙個由位元組組成的序列,他和其他程式語言或者其他鍵值對儲存提供的字串操作非常相似。
乙個string型別的例項,其中鍵為hello,值為world:
(1)常用命令如下:
(2)redis中的自增命令和自減命令:
(3)除了get、set、del、自增、自減等操作外,redis還提供了下面一些操作:
如下圖所示:
(4)應用場景:
string是最常用的一種資料型別,普通的key/value儲存都可以歸為此類,value其實不僅是string, 也可以是數字:比如想知道什麼時候封鎖乙個ip位址(訪問超過幾次)。incrby命令讓這些變得很容易,通過原子遞增保持計數。
redis中的list其實就是鍊錶(redis 使用雙端鍊錶實現的 list),相信學過資料結構知識的人都應該能理解其結構。
乙個list型別的例項,列表包含的元素,相同元素可以重複出現:
需要注意的是:乙個list結構可以有序的儲存多個字串,並且是允許元素重複的。
(1)常用命令如下:
lpush和rpush命令分別用於將元素推入列表的左端和右端;lpop和rpop命令分別用於從列表的左端和右端彈出元素,也就是刪除元素;
其中對於lrange命令來說,使用0位範圍的起始索引,-1為範圍的結束索引,可以取出列表包含元素的所有元素。
(2)除了上邊比較常用的命令之外,redis列表還可以從列表裡邊移除元素、將元素插入列表中間、將列表修剪至指定長度的命令,以及一些其他命令。
(3)使用場景:
redis的集合和列表都可以儲存多個字串,他們的不同支援在於,列表可以儲存多個相同的字串,而集合通過使用雜湊表來保證自己儲存的每個字串都是各不相同的。
redis的集合使用的是無序的方式儲存元素,所以不可以像list列表那樣,將元素推入集合的某一端,或者從集合的某一端彈出元素。
乙個set集合型別的例項,各不相同的元素,無序排列:
(1)常用命令如下:
(2)除了常見的命令之外,還有交集、並集、差集的計算,如下:
(3)使用場景:
redis的雜湊可以儲存多個鍵值對之間的對映。和字串一樣,雜湊儲存的值既可以是字串又可以是數字值,並且使用者同樣可以對雜湊儲存的數字執行自增操作或者是自減操作。
乙個list雜湊型別的例項,是乙個包含兩個鍵值對的雜湊鍵:
(1)常用命令如下:
有序集合和雜湊一樣,用於儲存鍵值對;有序集合的鍵被稱為成員member,每乙個成員都是獨一無二的;而有序集合的值被稱為分值score,分值必須是浮點數。
有序集合是redis裡面唯一乙個既可以根據成員訪問元素,又可以根據分值以及分值的排序來訪問元素的結構。
乙個有序集合型別的例項,zset-key是乙個包含兩個元素的有序集合鍵:
(1)常用命令如下:
redis 資料型別儲存
redis的字串是位元組序列。在redis中字串是二進位制安全的,這意味著他們有乙個已知的長度,是沒有任何特殊字元終止決定的,所以可以儲存任何東西,最大長度可達512兆。redis 127.0.0.1 6379 set name yiibai okredis 127.0.0.1 6379 get n...
redis資料型別
redis對比與memcached 最大的優勢就是支援更多靈活的資料結構,豐富的資料操作 redis現支援的資料型別有 字串,列表,集合,雜湊,有序集合 1.字串 普通資料型別 2.列表 簡單的字串列表,按照插入順序排序。你可以新增乙個元素到列表的頭部 左邊 或者尾部 右邊 適用於 對資料頭尾操作頻...
Redis 資料型別
redis支援五種資料型別 string 字串 hash 雜湊 list 列表 set 集合 及zset sorted set 有序集合 string是redis最基本的型別,你可以理解成與memcached一模一樣的型別,乙個key對應乙個value。string型別是二進位制安全的。意思是red...