string 是最簡單的類型,一個key對應一個value,string類型是二進制安全的。redis的string能夠包含任何數據。mysql
一、set: 設置值 127.0.0.1:6379> set name haha OK 二、setnx: 設置值,若是鍵已經存在則返回0,不然返回1 127.0.0.1:6379> setnx name haha (integer) 0 127.0.0.1:6379> setnx info a (integer) 1 三、get:獲取鍵對應的值 127.0.0.1:6379> get name "haha" 四、mset,mget:設置或者獲取多個鍵值對 127.0.0.1:6379> MSET name haha age 18 sex nv OK 127.0.0.1:6379> MGET name age sex 1) "haha" 2) "18" 3) "nv" 五、incrby:對 key 的值作加加(指定值)操做,並返回新的值 127.0.0.1:6379> INCRBY age 2 (integer) 22 六、incr:對 key 的值作加值,並返回新的值 127.0.0.1:6379> INCR age (integer) 19 七、del:刪除一個已建立的 key 127.0.0.1:6379> del name (integer) 1
Redis hash 是一個 string 類型的 field(字段)和 value 的映射表,hash 特別適合用於存儲對象,相較於將對象的每一個字段存成單個 string 類型,將一個對象存儲在 hash 類型中會佔用更少的內存,而且能夠更方便的存取整個對象。redis
一、hset:設置 hash field 爲指定值,若是 key 不存在,則先建立。 127.0.0.1:6379> HSET dic name huahua (integer) 1 二、hget、hmset、hmget,與上面的string相似 127.0.0.1:6379> HMSET dic1 name ah age 18 OK 三、 hdel:刪除制定表中的某一個鍵值對 127.0.0.1:6379> HDEL dic1 name (integer) 1 四、hgetall:列出表中的全部鍵值對 127.0.0.1:6379> HGETALL dic1 1) "age" 2) "18"
list 是一個鏈表結構,主要功能是 push、pop、獲取一個範圍內的全部值等等,操做中 key 理解爲鏈表的名字。Redis 的 list 類型其實就是一個每一個子元素都是 string 類型的雙向鏈表。咱們能夠經過 push、pop 操做從鏈表的頭部或尾部添加刪除元素。sql
一、lpush:在 key 對應 list 從左添加字符串元素 127.0.0.1:6379> LPUSH name haha ee nnn (integer) 3 二、lrange:在 key 對應 list 從左遍歷字符串元素,需指定起始和結束索引 127.0.0.1:6379> LRANGE name 0 -1 1) "nnn" 2) "ee" 3) "haha" 三、lpop:在 key 對應 list 從左刪除一個元素 127.0.0.1:6379> LPOP name "nnn" 四、rpop,rpush 相似,不過是從list右邊插入與刪除
set 是集合,他是 string 類型的無序集合。Set 是經過 hash table 實現的,對集 、交集、差集。經過這些操做,集合不容許有重複值。數據庫
一、sadd:添加一個或多個元素到集合中 127.0.0.1:6379> sadd k1 1 2 3 4 5 (integer) 5 二、smembers:獲取集合裏面全部的元素 127.0.0.1:6379> SMEMBERS k1 1) "1" 2) "2" 3) "3" 4) "4" 5) "5" 三、srem:從集合中刪除指定的一個或多個元素 127.0.0.1:6379> SREM k1 2 (integer) 1 四、spop:隨機從集合中刪除一個元素,並返回 127.0.0.1:6379> SPOP k1 "3" 五、sdiff:返回集合 1 與集合 2 的差集 127.0.0.1:6379> SDIFF k1 k2 1) "1" 六、sinter:得到兩個集合的交集 127.0.0.1:6379> SINTER k1 k2 1) "4" 2) "5" 七、sinter:得到兩個集合的交集 127.0.0.1:6379> SUNION k1 k2 1) "1" 2) "3" 3) "4" 4) "5" 5) "6"
zset 是 set 的一個升級版本,它在 set 的基礎上增長了一個順序屬性,這一屬性在添加修改元素的時候能夠指定,每次指定後,zset 會自動從新按新的值調整順序。能夠理解爲有兩列的 mysql 表,一列存的 value,一列存的順序。操做中 key 理解爲 zset 的名字.安全
一、zadd:向一個指定的有序集合中添加元素,每個元素會對應的有一個分數。你能夠指定多個分數/成員組合。若是一個指定的成員已經在對應的有序集合中了,那麼其分數就會被更新成最新的,而且該成員會從新調整到正確的位置,以確保集合有序。分數的值必須是一個表示數字的字符串。 127.0.0.1:6379> ZADD xx 1 zs 2 ls (integer) 2 二、zrange:返回有序集合中,指定區間內的成員。其中成員按照 score(分數)值從小到大排序。 127.0.0.1:6379> ZRANGE xx 0 -1 1) "zs" 2) "ls" 三、zrem: 刪除有序集合內元素 127.0.0.1:6379> ZREM xx zs (integer) 1 四、zcard:返回有序集合元素的個數 127.0.0.1:6379> ZCARD xx (integer) 1
127.0.0.1:6379> keys * 1) "age" 2) "dics" 3) "dic" 4) "sex" 5) "xx"
127.0.0.1:6379> EXISTS age (integer) 1
127.0.0.1:6379> del age (integer) 1
127.0.0.1:6379> EXPIRE age 20 (integer) 0
當 key 不存在時,返回 -2
當 key 存在但沒有設置剩餘生存時間時,返回 -1
不然,以秒爲單位,返回 key 的剩餘生存時間。服務器
127.0.0.1:6379> TTL age (integer) -2 127.0.0.1:6379> ttl k2 (integer) -1
127.0.0.1:6379> SELECT 1 OK 127.0.0.1:6379[1]> keys * 1) "k1"
127.0.0.1:6379> MOVE k1 1 (integer) 1
127.0.0.1:6379[1]> TYPE k1 set
127.0.0.1:6379> DBSIZE (integer) 10
127.0.0.1:6379> CONFIG GET * #獲取因此配置參數 127.0.0.1:6379> CONFIG GET port 1) "port" 2) "6379"