1、鏈接操做相關的命令redis
QUIT:關閉鏈接(connection);數據庫
AUTH:簡單密碼認證。安全
關於密碼驗證:
1、若是 redis 監聽迴環IP以外的地址 任何人均可以讀取其信息,因此安全問題須要考慮;
2、redis 服務器的速度衆所周知,所以官方文件中提醒設置比較複雜的密碼,防止機器破解;
3、首先須要在redis的配置文件 redis.conf 中 requirepass 註釋掉的內容,設置 requirepass testpassword ;
4、從新啓動 redis (service redis-server restart) 即需密碼驗證;
5、驗證 auth testpassword, testpassword 是配置文件中設置的 requirepass 值。服務器
2、適合全體類型的命令異步
EXISTS(key) 確認一個 key 是否存在;測試
DEL(key) 刪除一個 key;ui
TYPE(key) 返回值的類型;spa
KEYS(pattern) 返回知足給定 pattern 的全部 key;rest
RANDOMKEY:隨機返回 key 空間的一個key;server
RENAME(oldname, newname) 將 key 由 oldname 重命名爲 newname,若 newname 存在則刪除 newname 表示的 key;
DBSIZE:返回當前數據庫中 key 的數目;
EXPIRE(key,ttl) 設定一個 key 的生存時間 ttl(s);
TTL(key) 得到一個 key 的活動時間;
SELECT(index) 按索引查詢;
MOVE(key, dbindex) 將當前數據庫中的 key 轉移到有 dbindex 索引的數據庫;
FLUSHDB:刪除當前選擇數據庫中的全部 key;
FLUSHALL:刪除全部數據庫中的全部 key。
3、對 STRING 操做的命令
SET(key, value) 給數據庫中名稱爲 key 的 string 賦予值 value;
GET(key) 返回數據庫中名稱爲 key 的 string 的 value;
GETSET(key, value) 給名稱爲 key 的 string 賦予上一次的value;
MGET(key1, key2,…, key{$n}) 返回庫中多個 string(它們的名稱爲key1,key2…)的value;
SETNX(key, value) 若是不存在名稱爲 key 的 string,則向庫中添加 string,名稱爲 key,值爲 value;
SETEX(key, time, value) 向庫中添加 string(名稱爲key,值爲value)同時,設定過時時間time;
MSET(key1, value1, key2, value2,…key{$n}, value{$n}) 同時給多個 string 賦值,名稱爲 key{$i} 的 string 賦值 value{$i};
MSETNX(key1, value1, key2, value2,…key{$n}, value{$n}) 若是全部名稱爲 key{$i} 的 string 都不存在,則向庫中添加 string,名稱 key{$i} 賦值爲 value{$i};
INCR(key) 名稱爲 key 的 string 增1操做;
INCRBY(key, integer) 名稱爲 key 的 string 增長 integer;
DECR(key) 名稱爲 key 的 string 減1操做;
DECRBY(key, integer) 名稱爲 key 的 string 減小 integer;
APPEND(key, value) 名稱爲 key的 string 的值附加 value;
SUBSTR(key, start, end) 返回名稱爲 key 的 string 的 value 的子串。
4、對無索引序列 LIST 操做的命令
RPUSH(key, value) 在名稱爲 key 的 list 尾添加一個值爲 value 的元素;
LPUSH(key, value) 在名稱爲 key 的 list 頭添加一個值爲 value 的 元素;
LLEN(key) 返回名稱爲 key 的 list 的長度;
LRANGE(key, start, end) 返回名稱爲 key 的 list 中 start 至 end 之間的元素(下標從0開始,下同);
LTRIM(key, start, end) 截取名稱爲 key 的 list,保留 start 至 end 之間的元素;
LINDEX(key, index) 返回名稱爲 key 的 list 中 index 位置的元素;
LSET(key, index, value) 給名稱爲 key 的 list 中 index 位置的元素賦值爲 value;
LREM(key, count, value) 刪除 count 個名稱爲 key 的 list 中值爲value的元素。count 爲0,刪除全部值爲 value 的元素,count>0從 頭至尾刪除 count 個值爲 value 的元素,count<0從尾到頭刪除|count|個值爲value的元素;
LPOP(key) 返回並刪除名稱爲key的list中的首元素;
RPOP(key) 返回並刪除名稱爲key的list中的尾元素;
BLPOP(key1, key2,… key{$n}, timeout) LPOP 命令的 block 版本。即當 timeout 爲0時,若遇到名稱爲 key{$i} 的 list 不存在或該 list 爲空,則命令結束。若是 timeout>0,則遇到上述狀況時,等待 timeout 秒,若是問題沒有解決,則對 key{$i}+1 開始的 list 執行 pop 操做;
BRPOP(key1, key2,… key{$n}, timeout) RPOP 的 block 版本。參考上一命令;
RPOPLPUSH(srckey, dstkey) 返回並刪除名稱爲 srckey 的 list 的尾元素,並將該元素添加到名稱爲 dstkey 的 list 的頭部。
5、對有索引無序集合 SET 操做的命令
SADD(key, member) 向名稱爲 key 的 set 中添加元素 member;
SREM(key, member) 刪除名稱爲 key 的 set 中的元素 member;
SPOP(key) 隨機返回並刪除名稱爲 key 的 set 中一個元素;
SMOVE(srckey, dstkey, member) 將 member 元素從名稱爲 srckey 的集合移到名稱爲 dstkey 的集合;
SCARD(key) 返回名稱爲 key 的 set 的基數;
SISMEMBER(key, member) 測試 member 是不是名稱爲 key 的 set 的元素;
SINTER(key1, key2,…key{$n}) 求交集;
SINTERSTORE(dstkey, key1, key2,…key{$n}) 求交集並將交集保存到 dstkey 的集合;
SUNION(key1, key2,…key{$n}) 求並集;
SUNIONSTORE(dstkey, key1, key2,…key{$n}) 求並集並將並集保存到 dstkey 的集合;
SDIFF(key1, key2,…key{$n}) 求差集;
SDIFFSTORE(dstkey, key1, key2,…key{$n}) 求差集並將差集保存到 dstkey 的集合;
SMEMBERS(key) 返回名稱爲 key 的 set 的全部元素;
SRANDMEMBER(key) 隨機返回名稱爲 key 的 set 的一個元素。
6、對有序集合 ZSET(sorted set)操做的命令
ZADD(key, score, member) 向名稱爲 key 的 zset 中添加元素 member,score 用於排序。若是該元素已經存在,則根據score更新該元素的順序;
ZREM(key, member) 刪除名稱爲 key 的 zset 中的元素 member;
ZINCRBY(key, increment, member) 若是在名稱爲 key 的 zset 中已經存在元素 member,則該元素的 score 增長 increment;不然向集合中添加該元素,其 score 的值爲 increment;
ZRANK(key, member) 返回名稱爲 key 的 zset(元素已按 score 從小到大排序)中 member 元素的 rank(即 index,從0開始),若沒有 member 元素,返回 「null」;
ZREVRANK(key, member) 返回名稱爲 key 的 zset(元素已按 score 從大到小排序)中 member元素的 rank(即 index,從0開始),若沒有 member 元素,返回 「null」;
ZRANGE(key, start, end) 返回名稱爲 key 的 zset(元素已按 score 從小到大排序)中的 index 從 start 到 end 的全部元素;
ZREVRANGE(key, start, end) 返回名稱爲 key 的 zset(元素已按 score 從大到小排序)中的 index 從 start 到 end 的全部元素;
ZRANGEBYSCORE(key, min, max) 返回名稱爲 key 的 zset 中 score >= min 且 score <= max 的全部元素;
ZCARD(key) 返回名稱爲 key 的 zset 的基數;
ZSCORE(key, element) 返回名稱爲 key 的 zset 中元素 element 的 score;
ZREMRANGEBYRANK(key, min, max) 刪除名稱爲 key 的 zset 中 rank >= min 且 rank <= max 的全部元素;
ZREMRANGEBYSCORE(key, min, max) 刪除名稱爲 key 的 zset 中 score >= min 且 score <= max 的全部元素;
ZUNIONSTORE / ZINTERSTORE(dstkeyN, key1,…,keyN, WEIGHTS w1,…wN, AGGREGATE SUM|MIN|MAX) 對N個 zset 求並集和交集,並將最後的集合保存在 dstkeyN 中。對於集合中每個元素的 score,在進行 AGGREGATE 運算前,都要乘以對於的 WEIGHT 參數。若是沒有提供 WEIGHT,默認爲1。默認的 AGGREGATE 是 SUM,即結果集合中元素 的 score 是全部集合對應元素進行 SUM 運算的值,而 MIN 和 MAX 是指,結果集合中元素的 score 是全部集合對應元素中最小值和最大值。
7、對有序列表 HASH 操做的命令
HSET(key, field, value) 向名稱爲 key 的 hash 中添加元素 field=value;
HGET(key, field) 返回名稱爲 key 的 hash 中 field 對應的 value;
HMGET(key, field1, …,field{$n}) 返回名稱爲 key 的 hash 中 field{$i} 對應的 value;
HMSET(key, field1, value1,…,field{$n}, value{$n}) 向名稱爲 key 的 hash 中添加元素 field{$i}=value{$i};
HINCRBY(key, field, integer) 將名稱爲 key 的 hash 中 field 的 value 增長 integer;
HEXISTS(key, field) 名稱爲 key 的 hash 中是否存在鍵爲 field 的域;
HDEL(key, field) 刪除名稱爲 key 的 hash 中鍵爲 field 的域;
HLEN(key) 返回名稱爲 key 的 hash 中元素個數;
HKEYS(key) 返回名稱爲 key 的 hash 中全部鍵;
HVALS(key) 返回名稱爲 key 的 hash 中全部鍵對應的 value;
HGETALL(key) 返回名稱爲 key 的 hash 中全部的鍵(field)及其對應的 value。
8、持久化
SAVE:將數據同步保存到磁盤;
BGSAVE:將數據異步保存到磁盤;
LASTSAVE:返回上次成功將數據保存到磁盤的 UNIX 時戳;
SHUNDOWN:將數據同步保存到磁盤,而後關閉服務。
9、遠程服務控制
INFO:提供服務器的信息和統計;
MONITOR:實時轉儲收到的請求;
SLAVEOF:改變複製策略設置;
CONFIG:在運行時配置 Redis 服務器。