咱們說 Redis 相對於 Memcache 等其餘的緩存產品,有一個比較明顯的優點就是 Redis 不單單支持簡單的key-value類型的數據,同時還提供list,set,zset,hash等數據結構的存儲。本篇博客咱們就將介紹這些數據類型的詳細使用以及順帶介紹Redis系統的相關命令用法。html
注意:Redis的命令不區分大小寫,可是key 嚴格區分大小寫!!!redis
string 是Redis的最基本的數據類型,能夠理解爲與 Memcached 如出一轍的類型,一個key 對應一個 value。string 類型是二進制安全的,意思是 Redis 的 string 能夠包含任何數據,好比圖片或者序列化的對象,一個 redis 中字符串 value 最多能夠是 512M。數據庫
string 數據類型在 Redis 中的相關命令:緩存
表格圖片引用:http://www.cnblogs.com/xrq730/p/8944539.html(下同)安全
PS:上面的 ttl 命令是返回 key 的剩餘過時時間,單位爲秒。數據結構
上面是 string 類型的基本命令,下面介紹幾個自增自減操做,這在實際工做中仍是特別有用的(分佈式環境中統計系統的在線人數,利用Redis的高性能讀寫,在Redis中完成秒殺,而不是直接操做數據庫。)。分佈式
hash 是一個鍵值對集合,是一個 string 類型的 key和 value 的映射表,key 仍是key,可是value是一個鍵值對(key-value)。類比於 Java裏面的 Map<String,Map<String,Object>> 集合。性能
演示以下:spa
list 列表,它是簡單的字符串列表,按照插入順序排序,你能夠添加一個元素到列表的頭部(左邊)或者尾部(右邊),它的底層其實是個鏈表。3d
Redis 的 set 是 string 類型的無序集合。
zset(sorted set 有序集合),和上面的set 數據類型同樣,也是 string 類型元素的集合,可是它是有序的。
關於 key 的命令應該說是最經常使用的,須要你們記住。
這裏在介紹一個命令 :
OBJECT ENCODING key
這是用來顯示這五種數據類型的底層數據結構,下一篇博客咱們會詳細介紹。
上面的命令咱們給string 數據類型 k1 複製str,給 k2 複製123,經過 OBJECT ENCODING 顯示底層實現的數據類型分別是 embstr 和 int。這究竟是什麼呢?下篇博客咱們會詳細介紹的。
參考文檔:http://www.redis.cn/commands.html
http://www.cnblogs.com/xrq730/p/8944539.html