Redis(2) 數據類型
阿新 • • 發佈:2017-12-27
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) 數據類型