redis和jedis經常使用api

redis:

1、針對key的操做

1.1 del key [key .. ]                 , 刪除指定的一個或者多個key;
1.2 dump key                          , 序列化給定的key
1.3 restore key ttl serialized-value  , 反序列化到key
1.4 exists key                        , 判斷某一key是否存在
1.5 expire key seconds                , 設置key的過時時間 redis


① set命令能夠覆蓋過時時間;不改變key的操做不會影響key的生存時間
② rename也不會改變key的過時時間
③ persist命令能夠刪除key的過時時間,即永久
④ ttl能夠查看redis中key的過時時間
1.6  expireat key timestamp            , 設置key的生存時間
1.7  keys pattern                      , 查找全部符合給定模式pattern的key
            ① *, ?, [m,n]
1.8   move key db                       , 將當前數據庫中的key移動數據庫 db中。使用select db能夠切換數據庫
1.9   persist key                       , 移除給定 key 的生存時間
1.10  pexpire,pexpireat                , 設置key的過時、生存時間,單位毫秒
1.11   ttl,pttl                         , key的剩餘過時時間,單位秒,單位是毫秒
1.12   randomkey                        , 隨機返回一個key
1.13   rename key newkey                , 將 key 更名爲 newkey ,當newkey存在時會覆蓋
1.14   renamenx key newkey              ,  當newkey不存在時,將key更名爲newkey
1.15   sort key [by pattern] [get pattern [get pattern]] [limit offset count] [asc | desc] [alpha] [store destination]  ,排序,pattern能夠有 *字符出現
1.16   type key                         ,  返回key所存儲的值的類型 (none,string,list,set,zset,hash)
1.17   scan [db] cursor [MATCH pattern] [COUNT count] ,增量式迭代。  相似有 sscan,hscan,zscan
           ① SCAN命令用於迭代當前數據庫中的數據庫鍵。   返回結果爲:用於下一次迭代的新遊標;全部被迭代的元素
           ② SSCAN 命令用於迭代集合鍵中的 元素。
           ③ HSCAN 命令用於迭代哈希鍵中的 鍵值對。
           ④ ZSCAN 命令用於迭代有序集合中的 元素(包括元素成員和元素分值)數據庫

2、String操做

2.1   append key value                 , 將value追加到原先值的末尾
2.2   bitcount key [start] [end]       , 計算給定字符串中,設置爲1的比特位的數據量。
        ① 注意字符串"1"對應的十進制爲49,二進制爲00110001
        ② 能夠經過setbit key offset value
2.3   bitop operation destkey key [key ...]  , 對key的二進制字符串進行元操做,operation能夠是and,or, not,xor。
2.4   decr key                          , 將key中存儲的數字值減一
        ① 與incr命令相反
2.5   decrby key decrement              , 將key所存儲的值減去減量decrement
        ② 與incrby命令相反
2.6   get key
2.7   getbit key offset                 , 獲取key中所存儲字符串值對應偏移量上的bit
2.8   getrange key start end            , 返回key中字符串值的子字符串
2.9   getset key value                  , 設置key的值爲value,並返回key的舊值
2.10  mget key [key ...]               , 返回指定的多個key的值
2.11  mset key value [key value ...]   , 同時設置多個key-value值
2.12  msetnx key value [key value ...] , 當且僅當全部的key都不存在時,同時設置多個key-value對
2.13  set key value [EX second] [PX millisceonds] [NX|XX]
        ① setex key second value , 設置key的同時設置過時時間單位爲秒
        ② psetex key millisceonds value , 過時時間單位爲毫秒
        ③ setbit key offset value , 設置指定偏移量上的位
        ④ setnx key value , 當且僅當key不存在時設置key的value
        ⑤ setrange key offset value , 從offset開始,用value參數覆蓋key中的值
2.14  strlen key                      , 返回key中所存字符串的長度服務器

3、 Hash操做

3.1   hdel key field [field ...]       , 刪除哈希表key中的一個或多個指定域
3.2   hexists key field                , 查看哈希表key中給定的field是否存在
3.3   hget key feild                   , 查看哈希表key中給定的field的值
       ① hgetall key , 查看哈希表key中全部的field的值
       ② hmget key field [field ...] , 返回哈希表key中一個或多個給定域的值
3.4  hincrby key field increment      , 爲哈希表key中的field的值加上增量increment
3.5   hkeys key                        , 獲取哈希表key中的全部域
3.6   hlen key                         , 返回哈希表key中域的數量
3.7   hset key field value             , 設置哈希表key中field的值
       ① hmset key field value [field value] , 同時設置過個field的值
       ② hsetnx key field value , 當field不存在時,設置field的值
3.8   hvals key                        , 返回哈希表key中全部域的值
3.9   hstrlen key field                , 返回哈希表key中給定field關聯值的字符長度

app

4、List操做(List至關於堆棧)

4.1  lpush key value [value ...]      , 將一個或者多個值插入到列表key的表頭
      ① rpush key value [value ...] , 將一個或者多個值插入到列表key的表尾
      ② lpushx key value ,當且僅當key存在時將值value插入到key的表頭
      ③ rpushx key value ,當且僅當key存在時將值value插入到key的表尾
4.2  lpop key                          , 移除並返回列表key的頭元素
       ① rpop key , 移除並返回列表的尾元素
       ② blpop key [key ...] timeout , lpop的阻塞式指令
       ③ brpop key [key ...] timeout , rpop的阻塞式指令
       ④ rpoplpush source destination , 將列表Source的尾元素彈出以及返回客戶端,而且將該元素插入到destination列表中
       ⑤ brpoplpush source destination timeout , rpoplpush的阻塞版
4.3  lindex key index                  , 返回key中下表爲index的元素
4.4  linsert key before|after pivot value , 將值value插入到key中,位爲pivot以前或者以後
4.5  llen key                           , 返回列表key的長度
4.6  lrange key start stop              , 返回列表key中指定區間內的元素
4.7  lrem key count value               , 根據count的值,移除列表中與參數value相等的元素
4.8  lset key index value               , 將列表key下表爲index的元素值設置爲value
4.9  ltrim key start stop               , 對一個列表進行trimdom

5、Set操做(不可重複)

5.1   sadd key member [member ...]       , 將元素加入到集合key中,已經有的忽略
5.2   scard key                          , 返回集合key的元素個數
5.3   sdiff key [key ...]                , 返回一個集合的所有成員,該集合是全部給定集合之間的差集
5.4   sdiffstore destination key [key ...] , 放回集合之間的差集,並將它保存在destination集合中
5.5   sinter key [key ...]               ,返回集合中給定集合的交集
5.6   sinterstore destination key [key ...] , 返回給定集合之間的差集,並將它保存在destination集合中
5.7   sismember key member               , 判斷member元素是否爲集合key成員
5.8   smembers key                       , 返回集合中的全部成員
5.9   smove source destination member    , 將member元素從source集合移動到destination集合
5.10 spop key                          , 移除並返回集合中的一個隨機元素
5.11 srandmember key [count]           , 返回指定count個數的集合,count爲正數表示不能重複,負數能夠重複
5.12 srem key member [member ...]      , 移除集合key中的多個元素
5.13 sunion key [key ...]              , 返回全部指定key的並集
5.14 sunionstore destination key [key ...] 異步

6、ZADD操做(有序集合)

6.1   zadd key source member [[source member] [...]] , 將一個或者多個member元素及其score值加入到有序集合key中
6.2   zcard key                          , 返回有序集合key的元素個數
6.3   zcount key min max                 , 返回有序集合key中,score值在min和max之間的元素個數
6.4   zincrby key increment member       , 爲有序集合key的成員member的score值加上增量increment
6.5   zrange key start stop              , 返回有序集key中,指定下標區間內的成員
       ①   zrevrange key start stop [withscores] , 返回指定區間內的成員遞減順序
       ②   zrevrangebyrank key max min [withscores] [limit offset count]
6.6   zrangebyscore key min max [withscopes] [limit offset count] , 返回score值介於min和max之間的集合
6.7   zrank key member                   , 返回有序集key中成員member的排名
       ① zrevrank key member          , 返回有序集key中成員member的遞減排名
6.8   zrem key member [member ...]       , 移除有序集key中的多個成員
       ① zremrangebyrank key start stop , 移除有序集key中,指定排名區間內的全部成員
       ② zremrangebyscore key min max , 移除有序集key中,指定score範圍內的成員
6.9   zscore key member                  , 返回成員member的score值測試

7、pub/sub(發佈、訂閱)

7.1   psubscribe pattern [pattern ...]   , 訂閱一個或者多個符合給定模式的頻道
7.2   publish channel message            , 將信息message發送到指定的頻道channel
7.3   pubsub <subcommand> [argument ...] , 查看訂閱與發佈系統狀態的內省命令
        eg pubsub channels [pattern] , 列出當前的活躍頻道,訂閱模式的客戶端不計算在內
        eg pubsub numsub [channel-1 ...] , 返回給定頻道的訂閱者數量,訂閱模式的客戶端不計算在內
7.4   punsubscribe [pattern ...]          , 指示客戶端退訂全部給定模式
7.5   subscribe channel [channel ...]     , 訂閱給定的一個或者多個頻道信息
7.6   unsubscribe [channel ...]           , 指示客戶端退訂給定的頻道ui

8、Transaction(事務)

8.1   discard                             , 取消執行事務塊內的全部命令
8.2   exec                                , 執行事務塊內的命令
8.3   multi                               , 標記一個事務塊的開始
8.4   unwatch                             , 取消watch命令對全部key的監視
8.5   watch key [key ...]                 , 監視一個或者多個key,若是事務執行以前,這個kye被其它命令所動,則事務被打斷spa

9、Connection(鏈接)

9.1   auth password                       , 登陸redis時輸入密碼
9.2   echo message                        , 打印一個特定的信息message,測試時使用
9.3   ping                                , 測試與服務器的鏈接,若是正常則返回pong
9.4   quit                                , 請求服務器關閉與當前客戶端的鏈接
9.5   select index                        , 切換到指定的數據庫rest

10、Server(服務器)

10.1  bgsave                             , 後臺異步保存數據到硬盤
10.2  client setname/client getname      , 爲鏈接設置、獲取名字
10.3  client kill ip:port                , 關閉地址爲 ip:port的客戶端
10.4  client list                        , 以人類可讀的方式,返回全部的鏈接客戶端信息和統計數據
10.5  config get parameter               , 取得運行redis服務器的配置參數
10.6  config set parameter value         , 設置redis服務器的配置參數
10.7  config resetstat                   , 重置info命令的某些統計數據
10.8  dbsize                             , 返回當前數據庫中key的數量
10.9  flushall                           , 清空整個redis服務器的數據(刪除全部數據庫的全部 key)
10.10 flushdb                           , 清空當前數據庫中的全部key
10.11 info [section]                    , 返回redis服務器的各類信息和統計數據
10.12 lastsave                          , 返回最近一次redis成功將數據保存到磁盤時的時間
10.13 monitor                           , 實時打印出redis服務器接收到的指令
10.14 save                              , 將當前 Redis 實例的全部數據快照(snapshot)以 RDB 文件的形式保存到硬盤
10.15 slaveof host port                 , 將當前服務器轉變爲指定服務器的從屬服務器
10.16 slowlog subcommand [argument]     , Redis 用來記錄查詢執行時間的日誌系統

jedis:

其中value 支持五種數據類型:

1)字符串型 string
2)字符串列表 lists
3)字符串集合 sets
4)有序字符串集合 sorted sets
5)哈希類型 hashs

Jedis jedis = new Jedis(String ip , String port)

方法 描述 返回值 /補充說明
jedis.flush    
jedis.flushDB 清空數據  
boolean jedis.exists(String key) 判斷某個鍵是否存在 true = 存在,false= 不存在
jedis.set(String key,String value) 新增鍵值對(key,value) 返回String類型的OK表明成功
Set<String> jedis.keys(*) 獲取全部key 返回set 無序集合
jedis.del(String key) 刪除鍵爲key的數據項  
jedis.expire(String key,int i) 設置鍵爲key的過時時間爲i秒  
int jedis.ttl(String key) 獲取建委key數據項的剩餘時間(秒)  
jedis.persist(String key) 移除鍵爲key屬性項的生存時間限制  
jedis.type(String key) 查看鍵爲key所對應value的數據類型

jedis對字符串操做

語法 描述
jedis.set(String key,String value) 增長(或覆蓋)數據項
jedis.setnx(String key,String value) 不覆蓋增長數據項(重複的不插入)
jedis.setex(String ,int t,String value) 增長數據項並設置有效時間
jedis.del(String key) 刪除鍵爲key的數據項
jedis.get(String key) 獲取鍵爲key對應的value
jedis.append(String key, String s) 在key對應value 後邊擴展字符串 s
jedis.mset(String k1,String V1,String K2,String V2,…) 增長多個鍵值對
String[] jedis.mget(String K1,String K2,…) 獲取多個key對應的value
jedis.del(new String[](String K1,String K2,.... )) 刪除多個key對應的數據項
String jedis.getSet(String key,String value) 獲取key對應value並更新value
String jedis.getrang(String key , int i, int j) 獲取key對應value第i到j字符 ,從0開始,包頭包尾

jedis中對整數和浮點數操做

語法 描述
jedis.incr(String key) 將key對應的value 加1
jedis.incrBy(String key,int n) 將key對應的value 加 n
jedis.decr(String key) 將key對應的value 減1
jedis.decrBy(String key , int n) 將key對應的value 減 n

jedis對list列表操做

語法 描述
jedis.lpush(String key, String v1, String v2,....) 添加一個List , 注意:若是已經有該List對應的key, 則按順序在左邊追加 一個或多個
jedis.rpush(String key , String vn) key對應list右邊插入元素
jedis.lrange(String key,int i,int j) 獲取key對應list區間[i,j]的元素,注:從左邊0開始,包頭包尾
jedis.lrem(String key,int n , String val) 刪除list中 n個元素val
jedis.ltrim(String key,int i,int j) 刪除list區間[i,j] 以外的元素
jedis.lpop(String key) key對應list ,左彈出棧一個元素
jedis.rpop(String key) key對應list ,右彈出棧一個元素
jedis.lset(String key,int index,String val) 修改key對應的list指定下標index的元素
jedis.llen(String key) 獲取key對應list的長度
jedis.lindex(String key,int index) 獲取key對應list下標爲index的元素
jedis.sort(String key) 把key對應list裏邊的元素從小到大排序 (後邊詳細介紹)

jedis對set操做

語法 操做
jedis.sadd(String key,String v1,String v2,…) 添加一個set
jedis.smenbers(String key) 獲取key對應set的全部元素
jedis.srem(String key,String val) 刪除集合key中值爲val的元素
jedis.srem(String key, Sting v1, String v2,…) 刪除值爲v1, v2 , …的元素
jedis.spop(String key) 隨機彈出棧set裏的一個元素
jedis.scared(String key) 獲取set元素個數
jedis.smove(String key1, String key2, String val) 將元素val從集合key1中移到key2中
jedis.sinter(String key1, String key2) 獲取集合key1和集合key2的交集
jedis.sunion(String key1, String key2) 獲取集合key1和集合key2的並集
jedis.sdiff(String key1, String key2) 獲取集合key1和集合key2的差集

jedis對zset操做

語法 描述
jedis.zadd(String key,Map map) 添加一個ZSet
jedis.hset(String key,int score , int val) 往 ZSet插入一個元素(Score-Val)
jedis.zrange(String key, int i , int j) 獲取ZSet 裏下表[i,j] 區間元素Val
jedis. zrangeWithScore(String key,int i , int j) 獲取ZSet 裏下表[i,j] 區間元素Score - Val
jedis.zrangeByScore(String , int i , int j) 獲取ZSet裏score[i,j]分數區間的元素(Score-Val)
jeids.zscore(String key,String value) 獲取ZSet裏value元素的Score
jedis.zrank(String key,String value) 獲取ZSet裏value元素的score的排名
jedis.zrem(String key,String value) 刪除ZSet裏的value元素
jedis.zcard(String key) 獲取ZSet的元素個數
jedis.zcount(String key , int i ,int j) 獲取ZSet總score在[i,j]區間的元素個數
jedis.zincrby(String key,int n , String value) 把ZSet中value元素的score+=n

jedis對hash操做

語法 描述
jedis.hmset(String key,Map map) 添加一個Hash
jedis.hset(String key , String key, String value) 向Hash中插入一個元素(K-V)
jedis.hgetAll(String key) 獲取Hash的全部(K-V) 元素
jedis.hkeys(String key) 獲取Hash全部元素的key
jedis.hvals(String key) 獲取Hash全部元素 的value
jedis.hincrBy(String key , String k, int i) 把Hash中對應的k元素的值 val+=i
jedis.hdecrBy(String key,String k, int i) 把Hash中對應的k元素的值 val-=i
jedis.hdel(String key , String k1, String k2,…) 從Hash中刪除一個或多個元素
jedis.hlen(String key) 獲取Hash中元素的個數
jedis.hexists(String key,String K1) 判斷Hash中是否存在K1對應的元素
jedis.hmget(String key,String K1,String K2) 獲取Hash中一個或多個元素value
相關文章
相關標籤/搜索