redis 是乙個開源的使用 ansi c 語言編寫、遵守 bsd 協議、支援網路、可基於記憶體、分布式、可選永續性的鍵值對(key-value)儲存資料庫,並提供多種語言的 api。
redis 通常被稱為資料結構伺服器,因為值(value)可以是字串(string)、雜湊(hash)、列表(list)、集合(sets)和有序集合(sorted sets)等型別。
1、string字串型別
(1)常用命令如下:
(2)redis中的自增命令和自減命令:
(3)除了get、set、del、自增、自減等操作外,redis還提供了下面一些操作:
如下圖所示:
(4)應用場景:
2、list列表型別
redis中的list其實就是鍊錶(redis 使用雙端鍊錶實現的 list),相信學過資料結構知識的人都應該能理解其結構。
乙個list型別的例項,列表包含的元素,相同元素可以重複出現:
redis常見的5種不同的資料型別詳解
需要注意的是:乙個list結構可以有序的儲存多個字串,並且是允許元素重複的。
(1)常用命令如下:
lpush和rpush命令分別用於將元素推入列表的左端和右端;lpop和rpop命令分別用於從列表的左端和右端彈出元素,也就是刪除元素;
其中對於lrange命令來說,使用0位範圍的起始索引,-1為範圍的結束索引,可以取出列表包含元素的所有元素。
(2)除了上邊比較常用的命令之外,redis列表還可以從列表裡邊移除元素、將元素插入列表中間、將列表修剪至指定長度的命令,以及一些其他命令。
(3)使用場景:
3、set集合型別
redis的集合和列表都可以儲存多個字串,他們的不同支援在於,列表可以儲存多個相同的字串,而集合通過使用雜湊表來保證自己儲存的每個字串都是各不相同的。
redis的集合使用的是無序的方式儲存元素,所以不可以像list列表那樣,將元素推入集合的某一端,或者從集合的某一端彈出元素。
乙個set集合型別的例項,各不相同的元素,無序排列:
redis常見的5種不同的資料型別詳解
(1)常用命令如下:
(2)除了常見的命令之外,還有交集、並集、差集的計算,如下:
(3)使用場景:
4、hash雜湊型別
redis的雜湊可以儲存多個鍵值對之間的對映。和字串一樣,雜湊儲存的值既可以是字串又可以是數字值,並且使用者同樣可以對雜湊儲存的數字執行自增操作或者是自減操作。
乙個list雜湊型別的例項,是乙個包含兩個鍵值對的雜湊鍵:
(1)常用命令如下:
(2)其他命令包含新增和刪除鍵值對的命令、獲取所有鍵值對的命令、以及對鍵值對的值進行自增和自減操作的命令,如下所示:
hset person name bingo
hset person age 20
hset person id 1
hget person name
(person = )
5、有序集合zset資料型別
有序集合和雜湊一樣,用於儲存鍵值對;有序集合的鍵被稱為成員member,每乙個成員都是獨一無二的;而有序集合的值被稱為分值score,分值必須是浮點數。
有序集合是redis裡面唯一乙個既可以根據成員訪問元素,又可以根據分值以及分值的排序來訪問元素的結構。
乙個有序集合型別的例項,zset-key是乙個包含兩個元素的有序集合鍵:
常用命令如下:
Redis的5中型別的操作
由於這幾天事情比較多,對redis的討論有點忽略了,好了,讓我們繼續redis的 吧。在之前的兩篇日誌中我們已經知道了redis的強大以及其安裝。但是在這裡要注意一下,如果想測試不同型別的資料,個人還是建議在後台直接測試,而不是先用jredis鏈結伺服器,這能幫我們更好的了解其命令的使用和操作。要進...
redis儲存的常見型別
最近一直搞redis,redis支援的型別想必大家都清楚,我試著儲存最簡單的字串,嘗試著訪問list和list 一下就是幾種儲存方式,其實都是簡單的get,set,但是轉化就需要自己去寫一些序列化方法了。訪問string 訪問list 訪問list 格式 和list類似,只是序列化的方法為如下 pu...
Redis常見的5種不同的資料型別詳解
redis簡介以及和其他快取資料庫的區別 redis除了可以儲存鍵還可以儲存常見的5種資料型別,分別是 string list set hash zset。對於redis的命令有一部分是可以公用的,但是還有一些其他的命令是屬於特殊使用的。首先看看一張關於redis5種資料結構的對比 下邊就分別介紹5...