1. 程式人生 > >Redis入門之五大資料型別及常用操作

Redis入門之五大資料型別及常用操作

注:本片博文基本都是從redis官網摘抄整理,感興趣的可以直接去官網檢視
另外,該網站也有比較全的redis命令參考http://redisdoc.com/

一、String(字串)

  1. string是redis最基本的型別,你可以理解成與Memcached一模一樣的型別,一個key對應一個value。
  2. string型別是二進位制安全的。意思是redis的string可以包含任何資料。比如jpg圖片或者序列化的物件 。
  3. string型別是Redis最基本的資料型別,一個redis中字串value最多可以是512

二、Hash (雜湊)

  1. hash 是一個鍵值對集合。
  2. hash是一個string型別的field和value的對映表,hash特別適合用於儲存物件。
    類似Java裡面的Map

三、List(列表)

Redis 列表是簡單的字串列表,按照插入順序排序。你可以新增一個元素導列表的頭部(左邊)或者尾部(右邊)。
它的底層實際是個連結串列

四、Set(集合)

Redis的Set是string型別的無序集合。它是通過HashTable實現實現的,

五、Zset(sorted set:有序集合)

  1. zset 和 set 一樣也是string型別元素的集合,且不允許重複的成員。
  2. 不同的是每個元素都會關聯一個double型別的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。
  3. zset的成員是唯一的,但分數(score)卻可以重複。
  4. 集合是通過雜湊表實現的,所以新增,刪除,查詢的複雜度都是O(1)。 集合中最大的成員數為 232 - 1 (4294967295, 每個集合可儲存40多億個成員)。

六、常用操作

1、對Key(鍵)

序號 命令及描述
1 DEL key 該命令用於在 key 存在是刪除 key。
2 DUMP key 序列化給定 key ,並返回被序列化的值。
4 EXPIRE key seconds 為給定 key 設定過期時間。
5 EXPIREAT key timestamp EXPIREAT 的作用和 EXPIRE 類似,都用於為 key 設定過期時間。 不同在於 EXPIREAT 命令接受的時間引數是 UNIX 時間戳(unix timestamp)。
8 KEYS pattern 查詢所有符合給定模式( pattern)的 key 。
9 MOVE key db 將當前資料庫的 key 移動到給定的資料庫 db 當中。
10 PERSIST key 移除 key 的過期時間,key 將持久保持。
11 PTTL key 以毫秒為單位返回 key 的剩餘的過期時間。
12 TTL key 以秒為單位,返回給定 key 的剩餘生存時間(TTL, time to live)。
13 RANDOMKEY 從當前資料庫中隨機返回一個 key 。
15 RENAMENX key newkey 僅當 newkey 不存在時,將 key 改名為 newkey 。
16 TYPE key 返回 key 所儲存的值的型別。

2、對String(字串)

序號 命令及描述
2 GET key 獲取指定 key 的值。
4 GETSET key value 將給定 key 的值設為 value ,並返回 key 的舊值(old value)。
5 GETBIT key offset 對 key 所儲存的字串值,獲取指定偏移量上的位(bit)。
7 SETBIT key offset value 對 key 所儲存的字串值,設定或清除指定偏移量上的位(bit)。
8 SETEX key seconds value 將值 value 關聯到 key ,並將 key 的過期時間設為 seconds (以秒為單位)。
10 SETRANGE key offset value 用 value 引數覆寫給定 key 所儲存的字串值,從偏移量 offset 開始。
11 STRLEN key 返回 key 所儲存的字串值的長度。
13
14 PSETEX key milliseconds value 這個命令和 SETEX 命令相似,但它以毫秒為單位設定 key 的生存時間,而不是像 SETEX 命令那樣,以秒為單位。
15 INCR key 將 key 中儲存的數字值增一。
16 INCRBY key increment 將 key 所儲存的值加上給定的增量值(increment) 。
18 DECR key 將 key 中儲存的數字值減一。
19 DECRBY key decrement key 所儲存的值減去給定的減量值(decrement) 。
20 APPEND key value 如果 key 已經存在並且是一個字串, APPEND 命令將 value 追加到 key 原來的值的末尾。

3、對雜湊(Hash)

4、對列表(List)

5、對集合(set)

6、對有序集合(sorted set)