1. 基本操作
(1) keys * 檢視目前庫所有key (比對:keys *1)
(2) exists key 判斷某個key是否存在
(3) type key 檢視你的key是什麼類型
(4) del key 删除指定的key資料
(5) unlink key 根據value選擇非阻塞删除,僅将keys從keyspace中繼資料中删除,真正的删除會在後續異步操作。
(6) expire key 10 10秒鐘:為給定的key設定過期時間
(7) ttl key 檢視還有多少秒過期,-1表示永不過期,-2表示已過期
(8) Select 指令切換資料庫
(9) dbsize 檢視目前資料庫的key的數量
(10) flushdb 清空目前庫
(11) flushall 通殺全部庫
2. 字元串(String)
(1) set <key><value> 添加鍵值對
(2) get <key> 查詢對應鍵值
(3) append <key><value> 将給定的<value> 追加到原值的末尾
(4) strlen <key> 獲得值的長度
(5) setnx <key><value> 隻有在 key 不存在時 設定 key 的值
(6) incr <key> 将 key 中儲存的數字值增1,隻能對數字值操作,如果為空,新增值為1
(7) decr <key> 将 key 中儲存的數字值減1,隻能對數字值操作,如果為空,新增值為-1
(8) incrby / decrby <key><步長> 将 key 中儲存的數字值增減。自定義步長。
(9) mset <key1><value1><key2><value2> ..... 同時設定一個或多個 key-value對
(10) mget <key1><key2><key3> ..... 同時擷取一個或多個 value
(11) msetnx <key1><value1><key2><value2> ..... 同時設定一個或多個 key-value 對,當且僅當所有給定 key 都不存在。
(12) getrange <key><起始位置><結束位置> 獲得值的範圍,類似java中的substring,前包,後包
(13) setrange <key><起始位置><value> 用 <value> 覆寫<key>所儲存的字元串值,從<起始位置>開始(索引從0開始)。
(14) setex <key><過期時間><value> 設定鍵值的同時,設定過期時間,機關秒。
(15) getset <key><value> 以新換舊,設定了新值同時獲得舊值。
3. 清單(List)
(1) lpush/rpush <key><value1><value2><value3> .... 從左邊/右邊插入一個或多個值。
(2) lpop/rpop <key> 從左邊/右邊吐出一個值。值在鍵在,值光鍵亡。
(3) rpoplpush <key1><key2> 從<key1>清單右邊吐出一個值,插到<key2>清單左邊。
(4) lrange <key><start><stop> 按照索引下标獲得元素(從左到右)
lrange mylist 0 -1 0左邊第一個,-1右邊第一個,(0-1表示擷取所有)
(5) lindex <key><index> 按照索引下标獲得元素(從左到右)
(6) llen <key> 獲得清單長度
(7) linsert <key> before <value><newvalue> 在<value>的後面插入<newvalue>插入值
(8) lrem <key><n><value> 從左邊删除n個value(從左到右)
(9) lset<key><index><value> 将清單key下标為index的值替換成value
4. 集合(Set)
(1) sadd <key><value1><value2> ..... 将一個或多個 member 元素加入到集合 key 中,已經存在的 member 元素将被忽略
(2) smembers <key> 取出該集合的所有值。
(3) sismember <key><value> 判斷集合<key>是否為含有該<value>值,有1,沒有0
(4) scard<key> 傳回該集合的元素個數。
(5) srem <key><value1><value2> .... 删除集合中的某個元素。
(6) spop <key> 随機從該集合中吐出一個值。
(7) srandmember <key><n> 随機從該集合中取出n個值。不會從集合中删除 。
(8) smove <source><destination>value 把集合中一個值從一個集合移動到另一個集合
(9) sinter <key1><key2> 傳回兩個集合的交集元素。
(10) sunion <key1><key2> 傳回兩個集合的并集元素。
(11) sdiff <key1><key2> 傳回兩個集合的差集元素(key1中的,不包含key2中的)
5. 哈希(Hash)
(1) hset <key><field><value> 給<key>集合中的 <field>鍵指派<value>
(2) hget <key1><field> 從<key1>集合<field>取出 value
(3) hmset <key1><field1><value1><field2><value2>... 批量設定hash的值
(4) hexists<key1><field> 檢視哈希表 key 中,給定域 field 是否存在。
(5) hkeys <key> 列出該hash集合的所有field
(6) hvals <key> 列出該hash集合的所有value
(7) hincrby <key><field><increment> 為哈希表 key 中的域 field 的值加上增量 1 -1
(8) hsetnx <key><field><value> 将哈希表 key 中的域 field 的值設定為 value ,當且僅當域 field 不存在
6. 有序集合Zset(sorted set)
(1) zadd <key><score1><value1><score2><value2>… 将一個或多個 member 元素及其 score 值加入到有序集 key 當中。
(2) zrange <key><start><stop> [WITHSCORES] 傳回有序集 key 中,下标在<start><stop>之間的元素,帶WITHSCORES,可以讓分數一起和值傳回到結果集。
(3) zrangebyscore key min max [withscores] [limit offset count]
傳回有序集 key 中,所有 score 值介于 min 和 max 之間(包括等于 min 或 max )的成員。有序內建員按 score 值遞增(從小到大)次序排列。
(4) zrevrangebyscore key max min [withscores] [limit offset count]
同上,改為從大到小排列。
(5) zincrby <key><increment><value> 為元素的score加上增量
(6) zrem <key><value> 删除該集合下,指定值的元素
(7) zcount <key><min><max> 統計該集合,分數區間内的元素個數
zrank <key><value> 傳回該值在集合中的排名,從0開始。