开心六月综合激情婷婷|欧美精品成人动漫二区|国产中文字幕综合色|亚洲人在线成视频

    1. 
      
        <b id="zqfy3"><legend id="zqfy3"><fieldset id="zqfy3"></fieldset></legend></b>
          <ul id="zqfy3"></ul>
          <blockquote id="zqfy3"><strong id="zqfy3"><dfn id="zqfy3"></dfn></strong></blockquote>
          <blockquote id="zqfy3"><legend id="zqfy3"></legend></blockquote>
          打開APP
          userphoto
          未登錄

          開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

          開通VIP
          java對(duì)redis的基本操作

          一、server端安裝

            1、下載

              https://github.com/MSOpenTech/redis

              可看到當(dāng)前可下載版本:redis2.6

              

              下載windows平臺(tái)文件:

              

               

               解壓后,選擇當(dāng)前64位win7系統(tǒng)對(duì)應(yīng)的版本:

               

            2、安裝

              1)解壓后將里面所有文件拷貝至redis安裝目錄:

               

               幾個(gè)exe程序的功能:    

                  redis-benchmark.exe性能測試,用以模擬同時(shí)由N個(gè)客戶端發(fā)送M個(gè) SETs/GETs 查詢 (類似于 Apache 的ab 工具).

                  redis-check-aof.exe:更新日志檢查

                 redis-check-dump.exe本地?cái)?shù)據(jù)庫檢查

                 redis-cli.exe客戶端

                  redis-server.exe服務(wù)端       

              2)將路徑添加至系統(tǒng)環(huán)境變量:過程略

              3)cmd下啟動(dòng)redis-server

              

              注:由于此處未指定配置文件,系統(tǒng)采用默認(rèn)參數(shù)

            3、下載對(duì)應(yīng)的配置文件

              由上面cmd輸出可知,當(dāng)前版本為2.6.12

              原頁面上打開所有發(fā)布版本,找到2.6.12:

              

              下載zip文件:

              

              拷貝出redis.conf配置文件至安裝目錄:

              

              

              配置文件各字段含義:http://cardyn.iteye.com/blog/794194

              ps:如果配置文件的版本和當(dāng)前exe程序的版本不匹配,很容易

               由于參數(shù)不一致導(dǎo)致server端無法啟動(dòng)。

            4、通過指定的配置文件啟動(dòng)服務(wù)端

              

            5、客戶端訪問測試

              另起一個(gè)cmd窗口:

              

          二、基本功能測試

            1、程序基本結(jié)構(gòu)

            

            2、主要類

              1)功能類

          package com.redis;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.Set;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;import redis.clients.jedis.JedisShardInfo;import redis.clients.jedis.ShardedJedis;import redis.clients.jedis.ShardedJedisPool;import redis.clients.jedis.SortingParams;public class RedisClient {    private Jedis jedis;//非切片額客戶端連接    private JedisPool jedisPool;//非切片連接池    private ShardedJedis shardedJedis;//切片額客戶端連接    private ShardedJedisPool shardedJedisPool;//切片連接池        public RedisClient()     {         initialPool();         initialShardedPool();         shardedJedis = shardedJedisPool.getResource();         jedis = jedisPool.getResource();                     }      /**     * 初始化非切片池     */    private void initialPool()     {         // 池基本配置         JedisPoolConfig config = new JedisPoolConfig();         config.setMaxActive(20);         config.setMaxIdle(5);         config.setMaxWait(1000l);         config.setTestOnBorrow(false);                 jedisPool = new JedisPool(config,"127.0.0.1",6379);    }        /**      * 初始化切片池      */     private void initialShardedPool()     {         // 池基本配置         JedisPoolConfig config = new JedisPoolConfig();         config.setMaxActive(20);         config.setMaxIdle(5);         config.setMaxWait(1000l);         config.setTestOnBorrow(false);         // slave鏈接         List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();         shards.add(new JedisShardInfo("127.0.0.1", 6379, "master"));         // 構(gòu)造池         shardedJedisPool = new ShardedJedisPool(config, shards);     }     public void show() {             KeyOperate();         StringOperate();         ListOperate();         SetOperate();        SortedSetOperate();        HashOperate();         jedisPool.returnResource(jedis);        shardedJedisPool.returnResource(shardedJedis);    }       private void KeyOperate() {         。。。      }      private void StringOperate() {         。。。      }      private void ListOperate() {         。。。      }      private void SetOperate() {         。。。      }      private void SortedSetOperate() {         。。。      }          private void HashOperate() {         。。。      }}

              2)測試類

          package com.redis;public class Main {    public static void main(String[] args) {        // TODO Auto-generated method stub        new RedisClient().show();     }}

            3、各個(gè)功能函數(shù)

              1)key功能

          private void KeyOperate()     {         System.out.println("======================key==========================");         // 清空數(shù)據(jù)         System.out.println("清空庫中所有數(shù)據(jù):"+jedis.flushDB());        // 判斷key否存在         System.out.println("判斷key999鍵是否存在:"+shardedJedis.exists("key999"));         System.out.println("新增key001,value001鍵值對(duì):"+shardedJedis.set("key001", "value001"));         System.out.println("判斷key001是否存在:"+shardedJedis.exists("key001"));        // 輸出系統(tǒng)中所有的key        System.out.println("新增key002,value002鍵值對(duì):"+shardedJedis.set("key002", "value002"));        System.out.println("系統(tǒng)中所有鍵如下:");        Set<String> keys = jedis.keys("*");         Iterator<String> it=keys.iterator() ;           while(it.hasNext()){               String key = it.next();               System.out.println(key);           }        // 刪除某個(gè)key,若key不存在,則忽略該命令。        System.out.println("系統(tǒng)中刪除key002: "+jedis.del("key002"));        System.out.println("判斷key002是否存在:"+shardedJedis.exists("key002"));        // 設(shè)置 key001的過期時(shí)間        System.out.println("設(shè)置 key001的過期時(shí)間為5秒:"+jedis.expire("key001", 5));        try{             Thread.sleep(2000);         }         catch (InterruptedException e){         }         // 查看某個(gè)key的剩余生存時(shí)間,單位【秒】.永久生存或者不存在的都返回-1        System.out.println("查看key001的剩余生存時(shí)間:"+jedis.ttl("key001"));        // 移除某個(gè)key的生存時(shí)間        System.out.println("移除key001的生存時(shí)間:"+jedis.persist("key001"));        System.out.println("查看key001的剩余生存時(shí)間:"+jedis.ttl("key001"));        // 查看key所儲(chǔ)存的值的類型        System.out.println("查看key所儲(chǔ)存的值的類型:"+jedis.type("key001"));        /*         * 一些其他方法:1、修改鍵名:jedis.rename("key6", "key0");         *             2、將當(dāng)前db的key移動(dòng)到給定的db當(dāng)中:jedis.move("foo", 1)         */    } 

              運(yùn)行結(jié)果:

          ======================key==========================清空庫中所有數(shù)據(jù):OK判斷key999鍵是否存在:false新增key001,value001鍵值對(duì):OK判斷key001是否存在:true新增key002,value002鍵值對(duì):OK系統(tǒng)中所有鍵如下:key002key001系統(tǒng)中刪除key002: 1判斷key002是否存在:false設(shè)置 key001的過期時(shí)間為5秒:1查看key001的剩余生存時(shí)間:3移除key001的生存時(shí)間:1查看key001的剩余生存時(shí)間:-1查看key所儲(chǔ)存的值的類型:string

              2)String功能

          private void StringOperate()     {          System.out.println("======================String_1==========================");         // 清空數(shù)據(jù)         System.out.println("清空庫中所有數(shù)據(jù):"+jedis.flushDB());                System.out.println("=============增=============");        jedis.set("key001","value001");        jedis.set("key002","value002");        jedis.set("key003","value003");        System.out.println("已新增的3個(gè)鍵值對(duì)如下:");        System.out.println(jedis.get("key001"));        System.out.println(jedis.get("key002"));        System.out.println(jedis.get("key003"));                System.out.println("=============刪=============");          System.out.println("刪除key003鍵值對(duì):"+jedis.del("key003"));          System.out.println("獲取key003鍵對(duì)應(yīng)的值:"+jedis.get("key003"));                System.out.println("=============改=============");        //1、直接覆蓋原來的數(shù)據(jù)        System.out.println("直接覆蓋key001原來的數(shù)據(jù):"+jedis.set("key001","value001-update"));        System.out.println("獲取key001對(duì)應(yīng)的新值:"+jedis.get("key001"));        //2、直接覆蓋原來的數(shù)據(jù)          System.out.println("在key002原來值后面追加:"+jedis.append("key002","+appendString"));        System.out.println("獲取key002對(duì)應(yīng)的新值"+jedis.get("key002"));            System.out.println("=============增,刪,查(多個(gè))=============");        /**          * mset,mget同時(shí)新增,修改,查詢多個(gè)鍵值對(duì)          * 等價(jià)于:         * jedis.set("name","ssss");          * jedis.set("jarorwar","xxxx");          */          System.out.println("一次性新增key201,key202,key203,key204及其對(duì)應(yīng)值:"+jedis.mset("key201","value201",                        "key202","value202","key203","value203","key204","value204"));          System.out.println("一次性獲取key201,key202,key203,key204各自對(duì)應(yīng)的值:"+                        jedis.mget("key201","key202","key203","key204"));        System.out.println("一次性刪除key201,key202:"+jedis.del(new String[]{"key201", "key202"}));        System.out.println("一次性獲取key201,key202,key203,key204各自對(duì)應(yīng)的值:"+                jedis.mget("key201","key202","key203","key204"));         System.out.println();                                    //jedis具備的功能shardedJedis中也可直接使用,下面測試一些前面沒用過的方法        System.out.println("======================String_2==========================");         // 清空數(shù)據(jù)         System.out.println("清空庫中所有數(shù)據(jù):"+jedis.flushDB());                      System.out.println("=============新增鍵值對(duì)時(shí)防止覆蓋原先值=============");        System.out.println("原先key301不存在時(shí),新增key301:"+shardedJedis.setnx("key301", "value301"));        System.out.println("原先key302不存在時(shí),新增key302:"+shardedJedis.setnx("key302", "value302"));        System.out.println("當(dāng)key302存在時(shí),嘗試新增key302:"+shardedJedis.setnx("key302", "value302_new"));        System.out.println("獲取key301對(duì)應(yīng)的值:"+shardedJedis.get("key301"));        System.out.println("獲取key302對(duì)應(yīng)的值:"+shardedJedis.get("key302"));                System.out.println("=============超過有效期鍵值對(duì)被刪除=============");        // 設(shè)置key的有效期,并存儲(chǔ)數(shù)據(jù)         System.out.println("新增key303,并指定過期時(shí)間為2秒"+shardedJedis.setex("key303", 2, "key303-2second"));         System.out.println("獲取key303對(duì)應(yīng)的值:"+shardedJedis.get("key303"));         try{             Thread.sleep(3000);         }         catch (InterruptedException e){         }         System.out.println("3秒之后,獲取key303對(duì)應(yīng)的值:"+shardedJedis.get("key303"));                 System.out.println("=============獲取原值,更新為新值一步完成=============");        System.out.println("key302原值:"+shardedJedis.getSet("key302", "value302-after-getset"));        System.out.println("key302新值:"+shardedJedis.get("key302"));                System.out.println("=============獲取子串=============");        System.out.println("獲取key302對(duì)應(yīng)值中的子串:"+shardedJedis.getrange("key302", 5, 7));             } 

                運(yùn)行結(jié)果:

          ======================String_1==========================清空庫中所有數(shù)據(jù):OK=============增=============已新增的3個(gè)鍵值對(duì)如下:value001value002value003=============刪=============刪除key003鍵值對(duì):1獲取key003鍵對(duì)應(yīng)的值:null=============改=============直接覆蓋key001原來的數(shù)據(jù):OK獲取key001對(duì)應(yīng)的新值:value001-update在key002原來值后面追加:21獲取key002對(duì)應(yīng)的新值value002+appendString=============增,刪,查(多個(gè))=============一次性新增key201,key202,key203,key204及其對(duì)應(yīng)值:OK一次性獲取key201,key202,key203,key204各自對(duì)應(yīng)的值:[value201, value202, value203, value204]一次性刪除key201,key202:2一次性獲取key201,key202,key203,key204各自對(duì)應(yīng)的值:[null, null, value203, value204]======================String_2==========================清空庫中所有數(shù)據(jù):OK=============新增鍵值對(duì)時(shí)防止覆蓋原先值=============原先key301不存在時(shí),新增key301:1原先key302不存在時(shí),新增key302:1當(dāng)key302存在時(shí),嘗試新增key302:0獲取key301對(duì)應(yīng)的值:value301獲取key302對(duì)應(yīng)的值:value302=============超過有效期鍵值對(duì)被刪除=============新增key303,并指定過期時(shí)間為2秒OK獲取key303對(duì)應(yīng)的值:key303-2second3秒之后,獲取key303對(duì)應(yīng)的值:null=============獲取原值,更新為新值一步完成=============key302原值:value302key302新值:value302-after-getset=============獲取子串=============獲取key302對(duì)應(yīng)值中的子串:302

              3)List功能

          private void ListOperate()     {         System.out.println("======================list==========================");         // 清空數(shù)據(jù)         System.out.println("清空庫中所有數(shù)據(jù):"+jedis.flushDB());         System.out.println("=============增=============");        shardedJedis.lpush("stringlists", "vector");         shardedJedis.lpush("stringlists", "ArrayList");         shardedJedis.lpush("stringlists", "vector");        shardedJedis.lpush("stringlists", "vector");        shardedJedis.lpush("stringlists", "LinkedList");        shardedJedis.lpush("stringlists", "MapList");        shardedJedis.lpush("stringlists", "SerialList");        shardedJedis.lpush("stringlists", "HashList");        shardedJedis.lpush("numberlists", "3");        shardedJedis.lpush("numberlists", "1");        shardedJedis.lpush("numberlists", "5");        shardedJedis.lpush("numberlists", "2");        System.out.println("所有元素-stringlists:"+shardedJedis.lrange("stringlists", 0, -1));        System.out.println("所有元素-numberlists:"+shardedJedis.lrange("numberlists", 0, -1));                System.out.println("=============刪=============");        // 刪除列表指定的值 ,第二個(gè)參數(shù)為刪除的個(gè)數(shù)(有重復(fù)時(shí)),后add進(jìn)去的值先被刪,類似于出棧        System.out.println("成功刪除指定元素個(gè)數(shù)-stringlists:"+shardedJedis.lrem("stringlists", 2, "vector"));         System.out.println("刪除指定元素之后-stringlists:"+shardedJedis.lrange("stringlists", 0, -1));        // 刪除區(qū)間以外的數(shù)據(jù)         System.out.println("刪除下標(biāo)0-3區(qū)間之外的元素:"+shardedJedis.ltrim("stringlists", 0, 3));        System.out.println("刪除指定區(qū)間之外元素后-stringlists:"+shardedJedis.lrange("stringlists", 0, -1));        // 列表元素出棧         System.out.println("出棧元素:"+shardedJedis.lpop("stringlists"));         System.out.println("元素出棧后-stringlists:"+shardedJedis.lrange("stringlists", 0, -1));                System.out.println("=============改=============");        // 修改列表中指定下標(biāo)的值         shardedJedis.lset("stringlists", 0, "hello list!");         System.out.println("下標(biāo)為0的值修改后-stringlists:"+shardedJedis.lrange("stringlists", 0, -1));        System.out.println("=============查=============");        // 數(shù)組長度         System.out.println("長度-stringlists:"+shardedJedis.llen("stringlists"));        System.out.println("長度-numberlists:"+shardedJedis.llen("numberlists"));        // 排序         /*         * list中存字符串時(shí)必須指定參數(shù)為alpha,如果不使用SortingParams,而是直接使用sort("list"),         * 會(huì)出現(xiàn)"ERR One or more scores can't be converted into double"         */        SortingParams sortingParameters = new SortingParams();        sortingParameters.alpha();        sortingParameters.limit(0, 3);        System.out.println("返回排序后的結(jié)果-stringlists:"+shardedJedis.sort("stringlists",sortingParameters));         System.out.println("返回排序后的結(jié)果-numberlists:"+shardedJedis.sort("numberlists"));        // 子串:  start為元素下標(biāo),end也為元素下標(biāo);-1代表倒數(shù)一個(gè)元素,-2代表倒數(shù)第二個(gè)元素        System.out.println("子串-第二個(gè)開始到結(jié)束:"+shardedJedis.lrange("stringlists", 1, -1));        // 獲取列表指定下標(biāo)的值         System.out.println("獲取下標(biāo)為2的元素:"+shardedJedis.lindex("stringlists", 2)+"\n");    } 

                運(yùn)行結(jié)果:

          ======================list==========================清空庫中所有數(shù)據(jù):OK=============增=============所有元素-stringlists:[HashList, SerialList, MapList, LinkedList, vector, vector, ArrayList, vector]所有元素-numberlists:[2, 5, 1, 3]=============刪=============成功刪除指定元素個(gè)數(shù)-stringlists:2刪除指定元素之后-stringlists:[HashList, SerialList, MapList, LinkedList, ArrayList, vector]刪除下標(biāo)0-3區(qū)間之外的元素:OK刪除指定區(qū)間之外元素后-stringlists:[HashList, SerialList, MapList, LinkedList]出棧元素:HashList元素出棧后-stringlists:[SerialList, MapList, LinkedList]=============改=============下標(biāo)為0的值修改后-stringlists:[hello list!, MapList, LinkedList]=============查=============長度-stringlists:3長度-numberlists:4返回排序后的結(jié)果-stringlists:[LinkedList, MapList, hello list!]返回排序后的結(jié)果-numberlists:[1, 2, 3, 5]子串-第二個(gè)開始到結(jié)束:[MapList, LinkedList]獲取下標(biāo)為2的元素:LinkedList

              4)Set功能

           private void SetOperate()     {         System.out.println("======================set==========================");         // 清空數(shù)據(jù)         System.out.println("清空庫中所有數(shù)據(jù):"+jedis.flushDB());                System.out.println("=============增=============");        System.out.println("向sets集合中加入元素element001:"+jedis.sadd("sets", "element001"));         System.out.println("向sets集合中加入元素element002:"+jedis.sadd("sets", "element002"));         System.out.println("向sets集合中加入元素element003:"+jedis.sadd("sets", "element003"));        System.out.println("向sets集合中加入元素element004:"+jedis.sadd("sets", "element004"));        System.out.println("查看sets集合中的所有元素:"+jedis.smembers("sets"));         System.out.println();                System.out.println("=============刪=============");        System.out.println("集合sets中刪除元素element003:"+jedis.srem("sets", "element003"));        System.out.println("查看sets集合中的所有元素:"+jedis.smembers("sets"));        /*System.out.println("sets集合中任意位置的元素出棧:"+jedis.spop("sets"));//注:出棧元素位置居然不定?--無實(shí)際意義        System.out.println("查看sets集合中的所有元素:"+jedis.smembers("sets"));*/        System.out.println();                System.out.println("=============改=============");        System.out.println();                System.out.println("=============查=============");        System.out.println("判斷element001是否在集合sets中:"+jedis.sismember("sets", "element001"));        System.out.println("循環(huán)查詢獲取sets中的每個(gè)元素:");        Set<String> set = jedis.smembers("sets");           Iterator<String> it=set.iterator() ;           while(it.hasNext()){               Object obj=it.next();               System.out.println(obj);           }          System.out.println();                System.out.println("=============集合運(yùn)算=============");        System.out.println("sets1中添加元素element001:"+jedis.sadd("sets1", "element001"));         System.out.println("sets1中添加元素element002:"+jedis.sadd("sets1", "element002"));         System.out.println("sets1中添加元素element003:"+jedis.sadd("sets1", "element003"));         System.out.println("sets1中添加元素element002:"+jedis.sadd("sets2", "element002"));         System.out.println("sets1中添加元素element003:"+jedis.sadd("sets2", "element003"));         System.out.println("sets1中添加元素element004:"+jedis.sadd("sets2", "element004"));        System.out.println("查看sets1集合中的所有元素:"+jedis.smembers("sets1"));        System.out.println("查看sets2集合中的所有元素:"+jedis.smembers("sets2"));        System.out.println("sets1和sets2交集:"+jedis.sinter("sets1", "sets2"));        System.out.println("sets1和sets2并集:"+jedis.sunion("sets1", "sets2"));        System.out.println("sets1和sets2差集:"+jedis.sdiff("sets1", "sets2"));//差集:set1中有,set2中沒有的元素            }

                運(yùn)行結(jié)果:

          ======================set==========================清空庫中所有數(shù)據(jù):OK=============增=============向sets集合中加入元素element001:1向sets集合中加入元素element002:1向sets集合中加入元素element003:1向sets集合中加入元素element004:1查看sets集合中的所有元素:[element001, element002, element003, element004]=============刪=============集合sets中刪除元素element003:1查看sets集合中的所有元素:[element001, element002, element004]=============改==========================查=============判斷element001是否在集合sets中:true循環(huán)查詢獲取sets中的每個(gè)元素:element001element002element004=============集合運(yùn)算=============sets1中添加元素element001:1sets1中添加元素element002:1sets1中添加元素element003:1sets1中添加元素element002:1sets1中添加元素element003:1sets1中添加元素element004:1查看sets1集合中的所有元素:[element001, element002, element003]查看sets2集合中的所有元素:[element002, element003, element004]sets1和sets2交集:[element002, element003]sets1和sets2并集:[element001, element002, element003, element004]sets1和sets2差集:[element001]

              5)SortedSet功能(有序集合)

          private void SortedSetOperate()     {         System.out.println("======================zset==========================");         // 清空數(shù)據(jù)         System.out.println(jedis.flushDB());                 System.out.println("=============增=============");        System.out.println("zset中添加元素element001:"+shardedJedis.zadd("zset", 7.0, "element001"));         System.out.println("zset中添加元素element002:"+shardedJedis.zadd("zset", 8.0, "element002"));         System.out.println("zset中添加元素element003:"+shardedJedis.zadd("zset", 2.0, "element003"));         System.out.println("zset中添加元素element004:"+shardedJedis.zadd("zset", 3.0, "element004"));        System.out.println("zset集合中的所有元素:"+shardedJedis.zrange("zset", 0, -1));//按照權(quán)重值排序        System.out.println();                System.out.println("=============刪=============");        System.out.println("zset中刪除元素element002:"+shardedJedis.zrem("zset", "element002"));        System.out.println("zset集合中的所有元素:"+shardedJedis.zrange("zset", 0, -1));        System.out.println();                System.out.println("=============改=============");        System.out.println();                System.out.println("=============查=============");        System.out.println("統(tǒng)計(jì)zset集合中的元素中個(gè)數(shù):"+shardedJedis.zcard("zset"));        System.out.println("統(tǒng)計(jì)zset集合中權(quán)重某個(gè)范圍內(nèi)(1.0——5.0),元素的個(gè)數(shù):"+shardedJedis.zcount("zset", 1.0, 5.0));        System.out.println("查看zset集合中element004的權(quán)重:"+shardedJedis.zscore("zset", "element004"));        System.out.println("查看下標(biāo)1到2范圍內(nèi)的元素值:"+shardedJedis.zrange("zset", 1, 2));    }

                運(yùn)行結(jié)果:

          ======================zset==========================OK=============增=============zset中添加元素element001:1zset中添加元素element002:1zset中添加元素element003:1zset中添加元素element004:1zset集合中的所有元素:[element003, element004, element001, element002]=============刪=============zset中刪除元素element002:1zset集合中的所有元素:[element003, element004, element001]=============改==========================查=============統(tǒng)計(jì)zset集合中的元素中個(gè)數(shù):3統(tǒng)計(jì)zset集合中權(quán)重某個(gè)范圍內(nèi)(1.0——5.0),元素的個(gè)數(shù):2查看zset集合中element004的權(quán)重:3.0查看下標(biāo)1到2范圍內(nèi)的元素值:[element004, element001]

              6)Hash功能

          private void HashOperate()     {         System.out.println("======================hash==========================");        //清空數(shù)據(jù)         System.out.println(jedis.flushDB());                 System.out.println("=============增=============");        System.out.println("hashs中添加key001和value001鍵值對(duì):"+shardedJedis.hset("hashs", "key001", "value001"));         System.out.println("hashs中添加key002和value002鍵值對(duì):"+shardedJedis.hset("hashs", "key002", "value002"));         System.out.println("hashs中添加key003和value003鍵值對(duì):"+shardedJedis.hset("hashs", "key003", "value003"));        System.out.println("新增key004和4的整型鍵值對(duì):"+shardedJedis.hincrBy("hashs", "key004", 4l));        System.out.println("hashs中的所有值:"+shardedJedis.hvals("hashs"));        System.out.println();                System.out.println("=============刪=============");        System.out.println("hashs中刪除key002鍵值對(duì):"+shardedJedis.hdel("hashs", "key002"));        System.out.println("hashs中的所有值:"+shardedJedis.hvals("hashs"));        System.out.println();                System.out.println("=============改=============");        System.out.println("key004整型鍵值的值增加100:"+shardedJedis.hincrBy("hashs", "key004", 100l));        System.out.println("hashs中的所有值:"+shardedJedis.hvals("hashs"));        System.out.println();                System.out.println("=============查=============");        System.out.println("判斷key003是否存在:"+shardedJedis.hexists("hashs", "key003"));        System.out.println("獲取key004對(duì)應(yīng)的值:"+shardedJedis.hget("hashs", "key004"));        System.out.println("批量獲取key001和key003對(duì)應(yīng)的值:"+shardedJedis.hmget("hashs", "key001", "key003"));         System.out.println("獲取hashs中所有的key:"+shardedJedis.hkeys("hashs"));        System.out.println("獲取hashs中所有的value:"+shardedJedis.hvals("hashs"));        System.out.println();                  }

                運(yùn)行結(jié)果:

          ======================hash==========================OK=============增=============hashs中添加key001和value001鍵值對(duì):1hashs中添加key002和value002鍵值對(duì):1hashs中添加key003和value003鍵值對(duì):1新增key004和4的整型鍵值對(duì):4hashs中的所有值:[value001, value002, value003, 4]=============刪=============hashs中刪除key002鍵值對(duì):1hashs中的所有值:[value001, value003, 4]=============改=============key004整型鍵值的值增加100:104hashs中的所有值:[value001, value003, 104]=============查=============判斷key003是否存在:true獲取key004對(duì)應(yīng)的值:104批量獲取key001和key003對(duì)應(yīng)的值:[value001, value003]獲取hashs中所有的key:[key004, key003, key001]獲取hashs中所有的value:[value001, value003, 104]

          三、常用命令
              1)連接操作命令
              quit:關(guān)閉連接(connection)
              auth:簡單密碼認(rèn)證
              help cmd: 查看cmd幫助,例如:help quit
              
              2)持久化
              save:將數(shù)據(jù)同步保存到磁盤
              bgsave:將數(shù)據(jù)異步保存到磁盤
              lastsave:返回上次成功將數(shù)據(jù)保存到磁盤的Unix時(shí)戳
              shundown:將數(shù)據(jù)同步保存到磁盤,然后關(guān)閉服務(wù)
              
              3)遠(yuǎn)程服務(wù)控制
              info:提供服務(wù)器的信息和統(tǒng)計(jì)
              monitor:實(shí)時(shí)轉(zhuǎn)儲(chǔ)收到的請(qǐng)求
              slaveof:改變復(fù)制策略設(shè)置
              config:在運(yùn)行時(shí)配置Redis服務(wù)器
              
              4)對(duì)value操作的命令
              exists(key):確認(rèn)一個(gè)key是否存在
              del(key):刪除一個(gè)key
              type(key):返回值的類型
              keys(pattern):返回滿足給定pattern的所有key
              randomkey:隨機(jī)返回key空間的一個(gè)
              keyrename(oldname, newname):重命名key
              dbsize:返回當(dāng)前數(shù)據(jù)庫中key的數(shù)目
              expire:設(shè)定一個(gè)key的活動(dòng)時(shí)間(s)
              ttl:獲得一個(gè)key的活動(dòng)時(shí)間
              select(index):按索引查詢
              move(key, dbindex):移動(dòng)當(dāng)前數(shù)據(jù)庫中的key到dbindex數(shù)據(jù)庫
              flushdb:刪除當(dāng)前選擇數(shù)據(jù)庫中的所有key
              flushall:刪除所有數(shù)據(jù)庫中的所有key
              
              5)String
              set(key, value):給數(shù)據(jù)庫中名稱為key的string賦予值value
              get(key):返回?cái)?shù)據(jù)庫中名稱為key的string的value
              getset(key, value):給名稱為key的string賦予上一次的value
              mget(key1, key2,…, key N):返回庫中多個(gè)string的value
              setnx(key, value):添加string,名稱為key,值為value
              setex(key, time, value):向庫中添加string,設(shè)定過期時(shí)間time
              mset(key N, value N):批量設(shè)置多個(gè)string的值
              msetnx(key N, value N):如果所有名稱為key i的string都不存在
              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的子串
              
              6)List 
              rpush(key, value):在名稱為key的list尾添加一個(gè)值為value的元素
              lpush(key, value):在名稱為key的list頭添加一個(gè)值為value的 元素
              llen(key):返回名稱為key的list的長度
              lrange(key, start, end):返回名稱為key的list中start至end之間的元素
              ltrim(key, start, end):截取名稱為key的list
              lindex(key, index):返回名稱為key的list中index位置的元素
              lset(key, index, value):給名稱為key的list中index位置的元素賦值
              lrem(key, count, value):刪除count個(gè)key的list中值為value的元素
              lpop(key):返回并刪除名稱為key的list中的首元素
              rpop(key):返回并刪除名稱為key的list中的尾元素
              blpop(key1, key2,… key N, timeout):lpop命令的block版本。
              brpop(key1, key2,… key N, timeout):rpop的block版本。
              rpoplpush(srckey, dstkey):返回并刪除名稱為srckey的list的尾元素,

                        并將該元素添加到名稱為dstkey的list的頭部
              
              7)Set
              sadd(key, member):向名稱為key的set中添加元素member
              srem(key, member) :刪除名稱為key的set中的元素member
              spop(key) :隨機(jī)返回并刪除名稱為key的set中一個(gè)元素
              smove(srckey, dstkey, member) :移到集合元素
              scard(key) :返回名稱為key的set的基數(shù)
              sismember(key, member) :member是否是名稱為key的set的元素
              sinter(key1, key2,…key N) :求交集
              sinterstore(dstkey, (keys)) :求交集并將交集保存到dstkey的集合
              sunion(key1, (keys)) :求并集
              sunionstore(dstkey, (keys)) :求并集并將并集保存到dstkey的集合
              sdiff(key1, (keys)) :求差集
              sdiffstore(dstkey, (keys)) :求差集并將差集保存到dstkey的集合
              smembers(key) :返回名稱為key的set的所有元素
              srandmember(key) :隨機(jī)返回名稱為key的set的一個(gè)元素
              
              8)Hash
              hset(key, field, value):向名稱為key的hash中添加元素field
              hget(key, field):返回名稱為key的hash中field對(duì)應(yīng)的value
              hmget(key, (fields)):返回名稱為key的hash中field i對(duì)應(yīng)的value
              hmset(key, (fields)):向名稱為key的hash中添加元素field 
              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中元素個(gè)數(shù)
              hkeys(key):返回名稱為key的hash中所有鍵
              hvals(key):返回名稱為key的hash中所有鍵對(duì)應(yīng)的value
              hgetall(key):返回名稱為key的hash中所有的鍵(field)及其對(duì)應(yīng)的value


          本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
          打開APP,閱讀全文并永久保存 查看更多類似文章
          猜你喜歡
          類似文章
          redis實(shí)例
          redis
          通過 Jedis API 使用 Sorted Set 排序集合
          Redis的Java客戶端Jedis的八種調(diào)用方式(事務(wù)、管道、分布式…)介紹
          Redis隨筆(五)Jedis、jedisCluster的使用
          Windows下Redis的安裝使用
          更多類似文章 >>
          生活服務(wù)
          分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
          綁定賬號(hào)成功
          后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
          如果VIP功能使用有故障,
          可點(diǎn)擊這里聯(lián)系客服!

          聯(lián)系客服