Redis 總結

一、安裝:

sudo apt-get install redis-serverredis

 

二、啓動

啓動redis服務:redis-server數據庫

啓動客戶端鏈接本地redis服務:redis-cli數組

鏈接遠程redis服務:redis-cli -h host -p port -a password緩存

 

三、配置

查看配置:CONFIG GET CONFIG_SETTING_NAME服務器

修改配置:CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE異步

 

四、數據類型

字符串String,哈希 hash,列表 list,集合 set,有序集合zset (sorted set)。spa

 

五、key命令

DEL key  :刪除keyunix

DUMP key :序列化key調試

EXISTS key:檢查key是否存在日誌

EXPIRE key seconds:爲key設置過時時間

EXPIREAT key timestamp:爲key設置過時時間,參數是unix時間戳

PEXPIRE key milliseconds :設置key的過時時間以毫秒計。

PEXPIREAT key milliseconds-timestamp:設置 key 過時時間的時間戳(unix timestamp) 以毫秒計

KEYS pattern:查找全部符合給定模式( pattern)的 key 。

MOVE key db:將當前數據庫的 key 移動到給定的數據庫 db 當中。

PERSIST key:移除 key 的過時時間,key 將持久保持。

PTTL key:以毫秒爲單位返回 key 的剩餘的過時時間。

TTL key:以秒爲單位,返回給定 key 的剩餘生存時間(TTL, time to live)。

RANDOMKEY:從當前數據庫中隨機返回一個key。

RENAME key newkey:修改key的名稱

RENAMENX key newkey:僅當 newkey 不存在時,將 key 更名爲 newkey 。

TYPE key:返回key所存儲的值的類型。

 

六、字符串(string)

SET key value:設置指定key的值

GET key:獲取指定key的值

GETRANGE key start end:返回key中字符串值的子字符

GETSET key value:將給定key的值設爲value,並返回key的舊值(old value)。

GETBIT key offset:對key所存儲的字符串值,獲取指定偏移量上的位bit。

MGET key1 [key2..]:獲取全部(一個或多個)給定key的值。

SETBIT key offset value:對key所存儲的字符串值,設置或清除指定偏移量上的位。

SETEX key seconds value:將value關聯到key,並將key的過時時間設爲seconds(以秒爲單位)

SETNX key value:只有在key不存在時設置key的值。

SETRANGE key offset value:用value參數覆寫給定key所存儲的字符串值,從偏移量offset開始。

STRLEN key:返回key所存儲的字符串值的長度。

MSET key value [key value...]:同時設置一個或多個key-value對。

MSETNX key value [key value...]:同時設置一個或多個key-value對,當且僅當全部給定key都不存在。

PSETEX key milliseconds value :這個命令和 SETEX 命令類似,但它以毫秒爲單位設置 key 的生存時間,而不是像 SETEX 命令那樣,以秒爲單位。

INCR key:將key中存儲的數字值增一。

INCRBY key increment:將key所存儲的值加上給定的增量值increment。

INCRBYFLOAT key increment:將key所存儲的值加上給定的浮點增量值(increment)

DECR key:將key中存儲的數字值減一。

DECRBY key decrement:key所儲存的值減去給定的減量值(increment)

APPEND key value:若是key已經存在而且是一個字符串,APPEND命令將指定value追加到改key原來的值(value)的末尾。

 

七、哈希(hash)

HDEL key field1 [field2]:刪除一個或多個哈希表字段

HEXISTS key field:查看哈希表key中,指定的字段是否存在

HGET key field:獲取存儲在哈希表中指定字段的值。

HGETALL key:獲取哈希表中指定key的全部字段和值

HINCRBY key field increment:爲哈希表key中的指定字段的整數值加上增量increment。

HINCRBYFLOAT key field increment:爲哈希表key中的指定字段的浮點數值加上增量increment.

HKEYS key:獲取全部哈希表中的字段

HLEN key:獲取哈希表中字段的數量

HMGET key field1 [field2]:獲取指定字段的值

HMSET key field1 value1 [field2 value2...]:同時將多個field-value對設置到哈希表key中

HSET key field value:將哈希表key中的字段field的值設置爲value。

HSETNX key field value:只有在字段field不存在時,設置哈希表字段的值。

HVALS key:獲取哈希表中全部值。

HSCAN key cursor [MATCH pattern] [COUNT count]:迭代哈希表中的鍵值對。

 

八、列表

BLPOP key1 [key2] timeout:移除並獲取列表的第一個元素,若是列表沒有元素會阻塞列表直到等待超時或發現可彈出元素爲止。
BRPOP key1 [key2] timeout:移除並獲取列表的最後一個元素,若是列表沒有元素會阻塞列表直到等待超時或發現可彈出元素爲止。
BRPOPLPUSH source destination timeout:從列表中彈出一個值,將彈出的元素插入到另外一個列表中並返回它;若是列表沒有元素會阻塞列表直到等待超時或發現可彈出元素爲止。
LINDEX key index:經過索引獲取列表中的元素
LINSERT key BEFORE|AFTER pivot value:在列表的元素前或者後插入元素
LLEN key:獲取列表長度
LPOP key:移除並獲取列表的第一個元素
LPUSH key value1 [value2]:將一個或多個值插入到列表頭部
LPUSHX key value:將一個值插入到已存在的列表頭部
LRANGE key start stop:獲取列表指定範圍內的元素
LREM key count value:移除列表元素
LSET key index value:經過索引設置列表元素的值
LTRIM key start stop:對一個列表進行修剪,就是說,讓列表只保留指定區間內的元素,不在指定區間以內的元素都將被刪除。
RPOP key:移除並獲取列表最後一個元素
RPOPLPUSH source destination :移除列表的最後一個元素,並將該元素添加到另外一個列表並返回。
RPUSH key value1 [value2]:在列表中添加一個或多個值
RPUSHX key value:爲已存在的列表添加值
 

九、集合

SADD key member1 [member2]:向集合添加一個或多個成員
SCARD key:獲取集合的成員數
SDIFF key1 [key2]:返回給定全部集合的差集
SDIFFSTORE destination key1 [key2]:返回給定全部集合的差事並存儲在destination中
SINTER key1 [key2]:返回給定全部集合的交集
SINTERSTORE destination key1 [key2]:返回給定全部集合的交集並存儲在destination中
SISMEMBER key member:判斷member元素是不是集合key的成員
SMEMBERS key:返回集合中的全部成員
SMOVE source destination member:將member元素從source集合移動到destination集合
SPOP key:移除並返回集合中的一個隨機元素
SRANDMEMBER key [count]:返回集合中一個或多個隨機數
SREM key member1 [member2]:移除集合中一個或多個成員
SUNION key1 [key2]:返回全部給定集合的並集
SUNIONSTORE destination key1 [key2]:全部給定集合的並集存儲在destination集合中
SSCAN key cursor [MATCH pattern] [COUNT count]:迭代集合中的元素。
 

十、有序集合

ZADD key score1 member1 [score2 member2]:向有序集合添加一個或多個成員,或者更新已存在成員的分數
ZCARD key:獲取有序集合的成員數
ZCOUNT key min max:計算在有序集合中指定區間分數的成員數
ZINCRBY key increment memeber:有序集合中對指定成員的分數加上增量increment
ZINTERSTORE destination numkeys key[key...]:計算給定的一個或多個有序集合的交集並將結果集存儲在新的有序集合key中
ZLEXCOUNT key min max:在有序集合中計算指定字典區間內成員數量
ZRANGE key start stop [WITHSCORES]:經過索引區間返回有序集合成指定區間內的成員
ZRANGEBYLEX key min max [LIMIT offset count]:經過字典區間返回有序集合的成員
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT]:經過分數返回有序集合指定區間內的成員
ZRANK key member:返回有序集合中指定成員的索引
ZREM key member [member...]:移除有序集合中的一個或多個成員
ZREMRANGEBYLEX key min max:移除有序集合中給定的字典區間的全部成員
ZREMRANGEBYRANK key start stop:移除有序集合中給定的排名區間的全部成員
ZREMRANGEBYSCORE key min max:移除有序集合給定的分數區間的全部成員
ZREVRANGE key start stop [WITHSCORES]:返回有序集合中指定區間內的成員,經過索引,分數從高到低
ZREVRANGEBYSCORE key max min [WITHSCORES]:返回有序集合中指定分數區間內的成員,分數從高到低排序
ZREVRANK key member:返回有序集合中指定成員的排名,有序集成員按分數值遞減(從大到小)排序
ZSCORE key member:返回有序集中,成員的分數值
ZUNIONSTORE destination numkeys key [key...]:計算給定的一個或多個有序集的並集,並存儲在新的key中
ZSCAN key cursor [MATCH pattern] [COUNT count]:迭代有序集合中的元素(包括元素成員和元素分值)
 

十一、HyperLogLog

PFADD key element [element...]:添加指定元素到HyperLogLog中
PFCOUNT key [key...]:返回給定HyperLogLog的基數估算值
PFMERGE destkey sourcekey [ sourcekey...]:將多個HyperLogLog合併爲一個HyperLogLog。

 

十二、發佈訂閱 SUBSCRIBE

PSUBSCRIBE pattern [pattern...]:訂閱一個或多個符合給定模式的頻道
PUNSUBSCRIBE [pattern [pattern...]]:退訂全部給定模式的頻道
SUBSCRIBE channel [channel...]:訂閱給定的一個或多個頻道的信息
UNSUBSCRIBE [channel [channel...]]:退訂給定的頻道
PUBSUB subcommand [argument [argument...]]:查看訂閱與發佈系統狀態
PUBLISH channel message:將信息發送到指定的頻道

 

1三、事務

DISCAED:取消事務,放棄執行事務塊內的全部命令
EXEC:執行全部事務塊內的命令
MULTI:標記一個事務塊的開始
UNWATCH:取消WATCH命令對全部key的監視
WATCH key [key...]:監視一個(或多個)key,若是在事務執行以前這個(或這些)key被其餘命令所改動,那麼事務將被打斷。

 

1四、腳本

EVAL script numkeys key[key..] arg[arg..]:執行Lua腳本

EVALSHA  sha1 numkeys key [key...] arg[arg..]

SCRIPT EXISTS script [script...]:查看執行的腳本是否已經被保存在緩存當中。

SCRIPT FLUSH:從腳本緩存中移除全部腳本

SCRIPT KILL:殺死當前正在運行的Lua腳本

SCRIPT LOAD script:將腳本script添加到腳本緩存中,但並不當即執行這個腳本。

 

1五、鏈接

一、AUTH password:驗證密碼是否正確

二、ECHO message:打印字符串

三、PING:查看服務是否運行

四、QUIT:關閉當前鏈接

五、SELECT index:切換到指定的數據庫

 

1六、服務器

BGREWRITEAOF:異步執行一個AOF(AppendOnly File)文件重寫操做

BGSAVE:在後臺異步保存當前數據庫的數據到磁盤

CLIENT KILL [ip:port] [ID client-id]:關閉客戶端鏈接

CLIENT LIST:獲取鏈接到服務器的客戶端鏈接列表

CLIENT GETNAME:獲取鏈接的名稱

CLIENT PAUSE timeout:在指定時間內終止運行來自客戶端的命令

CLIENT SETNAME connection-name:設置當前鏈接的名稱

CLUSTER SLOTS:獲取集羣節點的映射數組

COMMAND:獲取Redis命令詳情數組

COMMAND COUNT:獲取Redis命令總數

COMMAND GETKEYS:獲取給定命令的全部鍵

TIME:返回當前服務器時間

COMMAND INFO command-name [command-name...]:獲取指定Redis命令描述的數組。

CONFIG GET parameter:獲取指定配置參數的值

GONFIG REWRITE:對啓動Redis服務器時所指定的redis.conf配置文件進行改寫

CONFIG SET parameter value:修改redis配置參數,無需重啓

CONFIG RESETSTAT:充值INFO命令中的某些統計數據

DBSIZE:返回當前數據庫的key的數量

DEBUG OBJECT key:獲取key的調試信息

DEBUG SEGFAULT:讓Redis服務崩潰

FLUSHALL:刪除全部數據庫的全部key

FLUSHDB:刪除當前數據庫的全部key

INFO [section]:獲取Redis服務器的各類信息和統計數值

LASTSAVE:返回最近一次Redis成功將數據保存到磁盤上的時間,以UNIX時間戳格式表示

MONITOR:實時打印Redis服務器接收到的命令,調試用。

ROLE:返回主從實例所屬的角色

SAVE:同步保存數據到硬盤

SHUTDOWN [NOSAVE] [SAVE]:異步保存數據到硬盤,並關閉服務器

SLAVEOF host port:將當前服務器轉變爲指定服務器的從屬服務器(slave server)

SLOWLOG subcommand [argument]:管理redis的慢日誌

SYNC:用於複製功能(replication)的內部命令

相關文章
相關標籤/搜索