redis-server 即啓動redis的服務器redis
redis-cli 啓動redis自帶的客戶端數組
redis-cli SHUTDOWN緩存
EXISTS bar 判斷鍵值是否存在(返回值1 存在,0 不存在)ruby
DEL bar 刪除一個或多個鍵(返回值是刪除的鍵的個數)性能優化
INCR num 使當前鍵值遞增(存儲的鍵值是整數時,遞增;非整數時,提示錯誤)服務器
原子操做:不可拆分的意思,即不會在執行的過程當中被其餘的命令插入打斷session
INCRBY bar 2 命令與INC基本同樣,只不過能夠指定增長的數值post
DECR bar 讓鍵值遞減性能
DECRBY bar 2 優化
APPEND key value 向鍵值的末尾追加value(返回字符串的總長度)
STRLEN key 返回鍵值的長度
MSET/MGET 與SET和GET功能相似,不過能夠同時操做多個鍵值
MSET key1 v1 key2 v2 key3 v3
MGET key1 key2
HSET key field value
HGET key field
HMSET key field value [field value]
HMGET key field [filed]
HGETALL key
HEXISTS key car model
HSETNX 命令與HSET相似,區別在於若字段已存在,則不執行任何操做
HINCRBY person score 60
HDEL key field [filed] 能夠刪除一個或多個字段
HKEYS key
HVALS key
HLEN key
LPUSH key value [value…] 列表左邊增長元素
RPUSH key value [value…] 列表左邊增長元素
LPOP key
RPOP key
LLen numbers 獲取元素個數
LRANGE key start stop 獲取列表的片斷,返回索引從start到stop之間的全部元素
(起始索引爲0,支持負索引,-1表明最右邊元素)
LREM key count value 刪除列表前count個值爲value的元素
(1) 當count>0時,正常操做
(2) 當count<0時,LREM會從列表右邊開始刪除前|count|個值爲value的元素
(3) 當count=0時,刪除全部值爲value的元素
LINDEX key index 將列表當作數組使用,獲取指定索引的值
LSET key index value
LTRIM key start end 刪除指定索引範圍外的全部元素
LINSERT key BEFORE|AFTER pivot value 從左到右查找值爲pivot的元素,將value插入該元素
的前邊或後邊
PPOPLPUSH source destination 從source的右邊彈出一個元素,插入destination的左邊
SADD key member [member…]
SREM key member [member…]
增長或刪除一個或多個元素,若鍵不存在,則建立,若加入元素已存在,則忽略該操做,返回值爲成功加入或刪除的元素數量
SMEMBERS key 獲取集合中的全部的元素
SCARD key 獲取集合中的元素個數
SRANDMEMBER key 隨機獲取一個元素
可傳遞參數count隨機獲取多個元素
count > 0時,獲取count個不一樣的元素
count < 0時,隨機獲取|count|個元素,這些元素可能相同
SPOP key 隨機彈出一個元素
ZADD key score member [score member] 添加該元素和該元素的分數
ZADD testboard +inf a
ZADD testboard -inf b +inf和-inf分別表示正無窮和負無窮
ZSCORE key member 獲取member的分數
ZRANGE key start stop [WITHSCORES] 按元素分數從小到大返回索引從start到
stop之間全部的元素,命令加上WITHSCORES,返回的數據格式從」元素1,元素2……元素n」變成了」元素1,分數1,元素2,分數2……元素n,分數n」
ZRANGEBYSCORE scoreboard min max 返回分數在min和max之間的元素(包括min和max)
ZRANGEBYSCORE scoreboard min (max 不包括分數爲max的元素
ZRANGEBYSCORE scoreboard (min max 不包括分數爲min的元素
ZREVRANGEBYSCORE scoreboard max min LIMIT offer count
ZINCRBY scoreboard 4 Jerry 增長一個元素的分數(負數爲減分)
ZCARD key 獲取集合中元素的個數
ZCOUNT scoreboard 90 100 獲取指定分數範圍內的元素個數
ZREM key member [member] 刪除一個或多個元素
ZREMRANGEBYRANK testRem 0 2 刪除指定索引範圍內的元素
ZREMRANGEBYSCORE testRem (4 5 刪除指定分數範圍內的元素
ZRANK key member 按照從小到大的順序獲取指定元素的排名(從0開始)
ZREVRANK key member 按照從大到小的順序獲取指定元素的排名(從0開始)
事務是一組命令的集合,是redis最小的執行單位,是原子性的操做,要麼不執行,要麼都執行
MULTI
SADD 「user:1:following」 2
SADD 「user:2:followers」 1
EXEC
WATCH key
WATCH能夠監控一個或多個鍵值,一旦其中一個鍵值被修改(或刪除),以後的事務就再也不執行,一直持續到EXEC命令或UNWATCH以後。
Redis能夠設置一些具備時效性的數據,到期後,Redis會自動刪除該數據
SET session:29e3d uid1314
EXPIRE session:29e3d 900 900秒後session:29e3d鍵數據失效
TTL session:29e3d 查看剩餘時間
PRESIST session:29e3d 將鍵恢復爲永久的
SET 和GETSET命令都會在從新賦值的同時,將該鍵恢復爲永久的
SORT命令能夠對集合類型、有序集合、列表類型進行排序
SORT key 排列數字(從小到大)
SORT key ALPHA 按照字典順序排列非數字元素
SORT key DESC (從大到小)
SORT key DESC LIMIT 1 2 (LIMIT表示跳過前offset個元素並獲取以後的count個元素)
BY參數
SORT tag:ruby:posts BY post:*->time DESC 使用tag:ruby:posts上的值替換參考鍵
中的第一個*,並獲取其值
注:1、當參考鍵名不包含*(爲常量鍵名)時,SORT命令不會執行排序操做
2、若幾個元素的參考鍵值相同,則按照其自己的值排序
3、當某個元素的參考鍵值不存在時,會默認參考鍵值是0
做用:使返回的結果再也不是元素自己的值,而是GET參數中指定的值
SORT tag:ruly:posts BY post:*->times DESC GET post:*->titile GET post:*->time
注:1、BY參數只能有一個,但GET參數能夠有多個
2、若還需返回元素自己的值,可用GET #
若但願保存排序的結果,可使用STORE參數
SORT tag:ruly:posts STORE sort.result 將排序後的結果存入sort.result鍵
注:STORE和EXPIRE結合使用可實現緩存排序結果的功能
當須要排序的元素個數較多時,SORT命令的性能相對較低,所以使用SORT時需注意:
一、儘可能減小待排序鍵元素的數量
二、使用LIMIT只獲取須要的數據
三、若是排序的數據量較大,儘可能使用STORE對結果進行緩存