1. 程式人生 > >Redis(2) 數據類型

Redis(2) 數據類型

ref cond list jpg 同時 分數 不同的 flushdb incr

Redis的五大數據類型:

String(字符串):

String 是Redis最基本的數據類型,一個key對應一個value。String 類型是二進制安全的,可以包含任何數據。比如jpg圖片或者序列化對象。字符串的value最多可以是512M。

Hash(哈希):

Hash 是一個鍵值對集合,是String類型的field和value的映射表,特別適合存儲對象。類似於java中的Map<String, Object>。

List(列表):

List 是一個簡單的字符串列表,按照插入的順序排列。可以添加一個元素到列表的頭部(左邊)或者尾部(右邊)。它的底層實際是一個鏈表。

Set(集合):

Set是String類型元素的無序集合。他是通過HashTable實現的。

ZSet(有序集合):

ZSet 和 Set 一樣也是String類型元素的集合,且不允許重復的元素。不同的是每一個元素都會關聯一個double類型的分數。Redis正是通過分數來為集合中的元素進行從小到大的排序。註意:ZSet 中元素是唯一的,但分數卻可以重復。

Redis常見的操作命令:

redis默認有16個數據庫,類似數組下標從0開始,初始默認使用0號庫。

select [number]:切換數據庫,例: select 7, 切換到8號庫。

dbsize:查看當前數據的key的數量。

flushdb:清空當前數據庫。

flushall:清空全部數據庫。

數據類型常見操作命令:

redis鍵(key):

  • keys *:數據庫中存在key的數量。常用語法:keys *, keys [string],keys [string]?,keys [string]* 等。
  • exists [key]:判斷key是否存在。
  • move [key] [db]:將key值移動到另外db。
  • expire [key]:為key設置過期時間。
  • ttl [key]:查看key還有多少時間過期,-1表示永不過期,-2表示已過期。
  • type [key]:查看key的類型。

Redis字符串(String):

  • set/get/del/append/strlen:設置/獲取/刪除/增加/長度。
  • incr/decr/incrby/decrby:加1/減1/加?/鍵?。
  • getrange/setrange:範圍獲取/範圍設置。
  • setex/sexnx:SETEX key seconds value 將值 value 關聯到 key ,並將 key 的生存時間設為 seconds (以秒為單位)。如果 key 已經存在, SETEX 命令將覆寫舊值/SETNX key value key 的值設為 value ,當且僅當 key 不存在。
  • mset/mget/msetnx:MSET key value [key value ...]同時設置一個或多個 key-value 對/MGET key [key ...]返回所有(一個或多個)給定 key 的值/MSETNX key value [key value ...]同時設置一個或多個 key-value 對,當且僅當所有給定 key 都不存在。
  • getset:GETSET key value 將給定 key 的值設為 value ,並返回 key 的舊值(old value)。當 key 存在但不是字符串類型時,返回一個錯誤。

未完待續。。。。。

api文檔

Redis(2) 數據類型