1. 程式人生 > >Redis的五種儲存型別

Redis的五種儲存型別

常用的五種型別:string(字串),hash(雜湊),list(列表),set(集合),zset(有序集合)

1.String型別

String是最簡單的型別,一個key對應一個value

String型別的資料最大512MB。 String型別的值可以被視作integer,從而可以讓“INCR”命令族操作(incrby、decr、decrby),這種情況下,該integer的值限制在64位有符號數。 在list、set和zset中包含的獨立的元素型別都是Redis String型別。

2.List型別

連結串列型別,主要功能是push、pop、獲取一個範圍的所有值等。其中的key可以理解為連結串列的名字。

在Redis中,list就是Redis String的列表,按照插入順序排序。比如使用LPUSH命令在list頭插入一個元素,使用RPUSH命令在list的尾插入一個元素。當這兩個命令之一作用於一個空的key時,一個新的list就創建出來了。 一個List的最大長度是2^32-1個元素 (4294967295, 每個列表超過40億個元素)。

3.Set型別

集合,和數學中的集合概念相似。操作中的key理解為集合的名字。

在Redis中,set就是Redis String的無序集合,不允許有重複元素。

Set的最大元素數是2^32-1。

Redis中對set的操作還有交集、並集、差集等。

4.ZSet型別

Zset是set的一個升級版本,在set的基礎上增加了一個順序屬性,這一屬性在新增修改元素時可以指定,每次指定後zset會自動安裝指定值重新調整順序。可以理解為一張表,一列存value,一列存順序。操作中的key理解為zset的名字。

Zset的最大元素數是2^32-1。

對於已經有序的zset,仍然可以使用SORT命令,通過指定ASC|DESC引數對其進行排序。

5.hash型別

hash是最接近關係資料庫結構的資料型別,可以將資料庫一條記錄或程式中一個物件轉換成hashmap存放在redis中。