javaコマンドRedisのセットの動作例(Jedis)

パッケージcom.jjf.redis。
 
輸入org.junit.Assert;
輸入org.junit.Test;
輸入redis.clients.jedis.Jedis。
輸入redis.clients.jedis.Pipeline。
輸入redis.clients.jedis.ScanResult。
 
輸入はjava.util.List;
輸入java.util.Set;
 
/ **
 * 2017年3月31日にjjf_lenovoによって作成されます。
 * /
publicクラスRedisSetTest {
    Jedis jedis = NULL;
    静的最終列DATASOURCE_URL =「182.254.213.106」。
    静的最終int型のDATASOURCE_SORT = 6379;
    静的最終列DATASOURCE_PASS =「123456」。
    静的最終INT DATASOURCE_SELECT = 1。
    公共RedisSetTest(){
        //基本配置
        =新しい新しいJedis jedis(DATASOURCE_URL、DATASOURCE_SORTに);
        jedis.auth(DATASOURCE_PASS);
        jedis.select(DATASOURCE_SELECT);
    }
 
    @Test
    公共ボイドtestSAdd(){
        //サッド一種以上の元素有するキー部材のセットにメンバー要素のコレクション内に存在は無視されます。
        Assert.assertTrue(jedis.sadd( "SET"、 "A")== 1);
        Assert.assertTrue(jedis.sadd( "SET"、 "A"、 "B"、 "C")== 2)。
        Assert.assertTrue(jedis.del( "セット")== 1);
    }
 
    @Test
    公共ボイドtestSCard(){
        //戻りSCARDセットベースキー(セット内の要素の数)。
        Assert.assertTrue(jedis.sadd( "SET"、 "A"、 "B"、 "C")== 3);
        アサート。
        Assert.assertTrue(jedis.del( "SET")== 1);
    }
 
    @Test
    公共ボイドtestSDiff(){
        // sdiffのは、セットのすべてのメンバーを返し、セットは、すべての所与のセットのセットとの間の差です。
        Assert.assertTrue(jedis.sadd( "SET"、 "A"、 "B"、 "C")== 3);
        Assert.assertTrue(jedis.sadd( "SET"、 "A"、 "B"、 " C "" "" B "" C ")== 6);
        セット<ストリング> = jedis.sdiff(" SET "" SET「); //このセットは、SETのない識別することですエレメント、マルチレベルは、その後、より一つずつ
        セットの<string> B = jedis.sdiff( 「SET」、「セット」); //は全くその要素、マルチレベル、より一つずつ設定されていないSET、識別することである
        システム。 out.printlnを(a.toString()+ ":::" + b.toString());
        Assert.assertTrue(jedis.del( "SET"、 "SET")== 2)。

 



        Assert.assertTrue(jedis.sadd( "セット"、 ""、 "B"、 "C")== 3)。
        Assert.assertTrue(jedis.sadd( "SET"、 "A"、 "B"、 "C"、 ""、 "B"、 "C")== 6)。
        Assert.assertTrue(jedis.sdiffstore( "ストア"、 "SET"、 "セット")== 3)。
        Assert.assertTrue(jedis.sdiffstore( "ストア"、 "セット"、 "SET")== 0)。
        Assert.assertTrue(jedis.del( "SET"、 "SET")== 2)。
    }
 
    @Test
    公共ボイドtestSInter(){
        //焼結返回一个集合的全部成员、该集合是所有给定集合的交集
        Assert.assertTrue(jedis.sadd( "セット"、 ""、 "B"、」 C ")== 3)。
        Assert.assertTrue(jedis.sadd(」



        Assert.assertTrue(jedis.del( "SET"、 "SET")== 2);
    }
 
    @Test
    公共ボイドtestSInterStore(){
        //このコマンドはsinterstore焼結コマンドに類似しているが、それが設定された目的地までの結果が保存され、そして単に結果セットを返しません。
        Assert.assertTrue(jedis.sadd( "SET"、 "A"、 "B"、 "C")== 3);
        Assert.assertTrue(jedis.sadd( "SET"、 "A"、 "B"、 " C "" A "" B "" C ")== 6)。
        Assert.assertTrue(jedis.sinterstore("ストア"" SET "" SET「)== 3);
        Assert.assertTrue(jedisれる.del( "セット"、 "SET "、 "ストア")== 3)。
    }
 
    @Test
    公共ボイドtestSIsMember(){
        // sismember部材セットキー要素部材か否かを判定する。
        Assert.assertTrue(jedis.sadd( "SET"、 "A"、 "B"、 "C")== 3);
        Assert.assertTrue(jedis.sismember( "SET"、 "B"));
        Assert.assertTrue(jedis.del( "SET")== 1);
    }
 
    @Test
    ます。public void testSMembers(){
        //コレクションの主要メンバーのすべてsmembersを返します。キーが空のセットとして見られるために存在していません。
        Assert.assertTrue(==( "SET"、 "A"、 "B"、 "C")jedis.sadd 3);
        セット<ストリング> = jedis.smembersのSET( "SET");
        System.out.printlnは( set.toString());
        Assert.assertTrue(set.size()== 3);
        Assert.assertTrue(jedis.del( "SET")== 1);
    }
 
    @Test
    公共ボイドtestSMove(){
        //宛先セットコレクションにソース要素から部材が移動。(原子)
        Assert.assertTrue(jedis.sadd( "SET"、 "A"、 "B"、 "C")== 3);
        アサート。
        Assert.assertTrue(jedis.smove( "SET"、 "SET"、 "A")== 1);
        セット<ストリング> A = jedis.smembers( "SET");
        セット<ストリング> B = jedis.smembers( "SET");
        のSystem.out.println(a.toString());
        のSystem.out.println(b.toString());
        Assert.assertTrue(a.size()== 2);
        Assert.assertTrue(B .size()== 6);それはまだ6であるので、//は既に、として存在し
        ; Assert.assertTrue(jedis.del( "SET"、 "SET")== 2)
    }
 
    @Test
    公共ボイドtestSPop)( {
        // SPOPの除去・リターンコレクション内のランダムな要素。
        Assert.assertTrue(jedis.sadd( "SET"、 "A"、 "B"、 "C")== 3);
        のSystem.out.println(jedis.spop( "SET"))。
        セット<文字列> A = jedis.smembers( "セット");
        Assert.assertTrue(a.size()== 2)。
        Assert.assertTrue(jedis.del( "SET")== 1);
 
    }
 
    @Test
    公共ボイドtestSRandMember(){
        / **
         *コマンドが実行される場合、それは、コレクション内のランダムな要素のみ重要なパラメータ返します。
         Redisの2.6バージョンを開始、SRANDMEMBER countコマンドは、オプションのパラメータを受け取り:
         カウントが正、ベースセットよりも小さい場合、このコマンドは、アレイの要素が異なる、カウント配列が要素を含む返します。カウントがセットベースに等しいより大きい場合は、コレクション全体を返します。
         countが負である場合、このコマンドは、アレイ内の素子のアレイを複数回繰り返してもよい戻り、配列の長さは、カウントの絶対値です。
         * /
        Assert.assertTrue(jedis.sadd( "SET"、 "A"、 "B"、 "C")== 3);
        のSystem.out.println(jedis.srandmember( "SET")); //異なりますSPOPで、除去することなくsrandmember
        セットの<string> A = jedis.smembers( "SET");
        Assert.assertTrue(a.size()== 3);
 

        リストの<string>リスタ= jedis.srandmember( "セット"、2); //は、 2個の乱数が重複しない返し
        するSystem.out.println( "リスタ:" + lista.toString());
        リストの<string> ListBの= jedis.srandmember( "セット"、5 ); // 5> 3 戻るすべてのデータ
        のSystem.out.println( "ListBの" + listb.toString());
        リストの<string> listc = jedis.srandmember(「SET "-2); //戻り| -2 |リピートデータ
        のSystem.out.println(" listc: "+ listc.toString());
        リストの<string> listd = jedis.srandmember(" SET」 -6); //戻り| -6 |リピートデータ
        のSystem.out.println( "listd:" + listd.toString());
        Assert.assertTrue(jedis.del( "SET")== 1)。 ;
    }
 
    @Test
    公共ボイドtestSRem(){
        //セットシレムキー部材または複数の要素を削除、メンバーが存在しない要素は無視されます。
        Assert.assertTrue(jedis.sadd( "セット"、 ""、 "B"、 "C")== 3)。
        Assert.assertTrue(jedis.srem( "セット"、 ""、 "D")== 1)。
        Assert.assertTrue(jedis.del( "セット")== 1)。
    }
 
    @Test
    公共ボイドtestSunion(){
        // sunion返回一个集合的全部成员、该集合是所有给定集合的并集
        Assert.assertTrue(jedis.sadd( "セット"、 ""、 "B"、 "C")== 3)。
        Assert.assertTrue(jedis.sadd( "SET"、 "A"、 "B"、 "C"、 ""、 "B"、 "C")== 6)。
        セットの<string>セット= jedis.sunion( "セット"、 "SET")。
        System.out.println(set.toString())。
        Assert.assertTrue(セット。サイズ()== 6)。
        Assert.assertTrue(jedis.del( "SET"、 "SET")== 2)。
    }
 
    @Test
    公共ボイドtestSunionStore(){
        // sunion返回一个集合的全部成员、该集合是所有给定集合的并集
        Assert.assertTrue(jedis.sadd( "セット"、 ""、 "B"、 "C")== 3)。
        Assert.assertTrue(jedis.sadd( "SET"、 "A"、 "B"、 "C"、 ""、 "B"、 "C")== 6)。
        Assert.assertTrue(jedis.sunionstore( "ストア"、 "セット"、 "SET")== 6)。
        Assert.assertTrue(jedis.del( "SET"、 "SET"、 "店舗")== 3)。
    }
 
    @Test
    公共ボイドtestSScan(){
        パイプラインパイプライン= jedis.pipelined()。
        以下のために(INT iが= 0; I <1000; I ++){
            pipeline.sadd( "セット"、String.valueOf(I))。
        }
        pipeline.sync()。
        ScanResult <ストリング>結果; // = jedis.sscan( "セット"、0);
//するSystem.out.println(result.getResult()サイズ()+ "::" + result.getStringCursor());
//するSystem.out.println(。result.getResult()のtoString());
        int型のカウント= 0;
        int型カーソル= 0;
        やる{
//するSystem.out.println(result.getCursor());
            結果= jedis.sscan( "セット"、カーソル)。
            カーソル= Integer.valueOf(result.getStringCursor())。
            以下のための(文字列SS:result.getResult()){
                ++数えます。
                System.out.print( "<" +数+ ":" + SS + ">");
            }
            のSystem.out.println();
        }
        ながら(!カーソル= 0)。
        System.out.println(カウント)。
        Assert.assertTrue(カウント== 1000);
        Assert.assertTrue(jedis.del( "セット"、」
    }
}

おすすめ

転載: www.cnblogs.com/zhuyeshen/p/12147977.html