SpringBoot2.0迅速な統合JedisのRedisのクライアント接続サービス

転送:   https://blog.csdn.net/ljk126wy/article/details/93303627

 

SpringBoot2.0迅速な統合JedisのRedisのクライアント接続サービス
1.簡単なのRedisの
2.自動統合クライアントJedis
2.1 Jedis依存組み込ま
2.2 Jedisプロパティ定義されたクラス
2.3はJedisクライアントが自動的にクラスに設定を定義
4.テスト
1.簡単なのRedisのを
次のようにRedisの関係者は説明しました:

Redisのは、オープンソース(BSDがライセンス)であり、メモリ内のデータ構造
、データベース、キャッシュ、メッセージブローカーとして使用店、。これは、データのサポート
とセットソート、このような文字列、ハッシュ、リスト、セットなどの構造物を
半径とレンジクエリ、ビットマップ、hyperloglogs、地理空間インデックス
のクエリをしてストリーム。Redisのレプリケーション、Luaスクリプト、内蔵している
LRUエビクション、トランザクションおよびディスク上の異なるレベルの
持続性、およびRedisのセンチネルを介して高可用性を提供する
Redisのクラスタで自動パーティション

Redisのは、データベース、キャッシュ、メッセージブローカーとして、メモリに格納されているオープンソース(BSDライセンス)のデータ構造です。これは、(ビットマップ)は、クエリの範囲(sortedsets)、ビットマップの文字列(文字列)、ハッシュ(ハッシュの)、順序集合のリスト(リスト)、セット(セット)、スーパー(hyperloglogs)クエリおよび半径のログをサポートしています地理空間インデックスストリームおよびその他のデータ構造。Redisのは、組み込みの複製、Luaのスクリプト、取引、業務および永続ディスクの異なるレベルを持っており、自動的に分割することにより、高可用性を提供し、RedisのRedisのセンチネルクラスタ

2.自動コンフィギュレーション統合Jedisクライアントの
設定は、まず、ローカルまたはリモートマシン上のRedisのサービスをインストールする必要があり、私はBaiduのか、その後のブログのチュートリアルを期待することができ、他のWindowsのインストールRedisのチュートリアルを参照することができます。

ばねブートスタータデータのRedisのRedisTemplateを導入することによって、我々は実際RedisTemplateはレタスとJedisに封入されているRedisの上にさまざまな操作を実行するためにオブジェクトを使用することができ、デフォルトでは、レタスを使用することです。

しかし、今日、私たちはSpringBoot自動設定機能を介して接続するバイパスRedisTemplate JedisのRedisのクライアントを使用する方法を紹介します。
バージョンJedis自動設定操作を合計3ポイント

導入jedis依存
定義Jedisプロパティクラス
定義Jedis自動クラス
2.1 Jedis依存組み込ま
装入Jedis依存コードは以下の通りであります:

        <依存>
            <groupIdを> redis.clients </ groupIdを>
            <たartifactId> jedis <たartifactId />
        </依存関係>

SpringBootスプリング・ブート・スターター・データがあるため -redis jedisの依存関係なしに、我々が直接導入Jedisのjedisを統合バージョン番号。

2.2 Jedisプロパティクラスが定義され
たサービス構成レイズJedisPropertiesによって接続クラスを設定するための設定情報を記憶します。例えば、注釈IPの場合は、ポートの設定サービス固有のプロパティは、コードを以下の注意事項を参照してください。

クラス注釈付きの記述に関する構成情報:

@Component:注釈の宣言は、春の豆です
@ConfigurationProperties:application.propertiesの構成を定義するprefixパラメータで接頭辞によって@ConfigurationProperties注釈。SpringBootはJedisPropertiesに構成されたアノテーション情報application.propertiesを注入することによって達成することができます。

たとえば、次の設定情報がapplication.properties:

= 127.0.0.1 spring.jedis.host
spring.jedis.port = 6380

SpringBoot値を注入するために私たちを助けるホストとポートのプロパティでJedisPropertiesメンバーにホストとポートの設定をapplication.properties。

具体的なコードは次のよう:

@Component
@ConfigurationProperties(接頭辞= "spring.jedis")
パブリッククラスJedisProperties {

    / ** Redisのサーバーのホスト* IP /
    プライベート文字列のホスト=は"localhost";
    / ** Redisのサーバーのログインパスワード* /
    プライベート文字列のパスワード;
    / ** Redisのサーバポート* /
    プライベートint型ポート= 6379;
    / **接続タイムアウト* /
    プライベートint型のタイムアウト= 2000;
    /接続プールの設定** * /
    プライベートプールプールプール=新しい新しい();
    // ... getおよびsetメソッドは省略
}

publicクラスプール{
    / **を最大接続数、デフォルト8 * /
    プライベートmaxTotal = int型8;
    / **アイドル接続の最大数、8デフォルト* /
    プライベートmaxIdle = int型8;
    / **アイドル接続の最小数、デフォルト* 0 /
    プライベートminIdle int型= 0;
    プライベートロングmaxWaitMillis;
    / / getおよびsetメソッド省略...    
    }

のRedisの設定手順

あなたは地元のRedisのサービスを開始した場合、あなたはどのような構成を必要としないのRedisを操作することができます。

あなたは、リモート・サーバにインストールさRedisの中にある場合。そして、次の構成が必要になります。

#必要な構成
spring.jedis.host = RedisのサーバホストのIP
spring.jedis.port Redisのサーバポート=
#あなたはサービスが設定されている必要があり、パスワードが設定されているRedisの場合。
spring.jedis.password = Redisのサーバーのログインパスワードの
#の非必須の構成
spring.jedis.timeout =接続タイムアウト
spring.jedis.pool.max-合計=接続の最大数、8デフォルト
spring.jedis.pool.maxアイドル=アイドル接続の最大数、デフォルト8
アイドル接続のspring.jedis.pool.minアイドル=最小数、デフォルト0
ミリ秒spring.jedis.pool.max-のは=待ちミリ秒の最大数は、接続を待機する

Jedis定義2.3顧客端自動構成クラス
自動設定SpringBootのコア機能の一つである、SpringBoot実際の書籍をそのように記載されている:多くの一般的なアプリケーション機能のためにSpringアプリケーションは、自動的にSpringBoot構成を提供することができます。それは、モデルのように設定されています。そしてSprignBoot自動設定は非常に柔軟性があり、我々はまた、自動的に行うカスタム構成を重ねることによって構成することができます。

自動設定に関する注意はじめについて:

@Configuration + @Bean:xmlの豆でjavaConfigオペレーティング組み合わせや構成が有効です。

@ConditionalOnClass:対応するアノテーションクラスのパラメータが存在しなければならない、または変更したコンフィギュレーションクラスのノートが解決されません

@EnableConfigurationProperties:豆などJedisPropertiesはJedisAutoConfigurationに導入されます

@ConditionalOnMissingBean:コメントは、それがBeanクラスが存在して変更する場合は、Beanを作成する必要がないと言ったが、ノートにパラメータなど@ConditionOnMissingBean(名前=「例」)を渡すことができ、これは、名前が「例」であればあることを意味します豆は、修正されたコードブロックを実行しない注釈が存在します。

最後には、次の基本的な役割を設定し、JedisPool JedisPoolConfigオブジェクトを生成することで説明した注釈します。以下のコードを参照してください。

@Configuration
@ConditionalOnClass(JedisPool.class)
@EnableConfigurationProperties(JedisProperties.class)
パブリッククラスJedisAutoConfiguration {
    プライベートJedisPropertiesのjedisProperties。
    
    公共JedisAutoConfiguration(JedisPropertiesのjedisProperties){
        this.jedisProperties = jedisProperties。
    }
    
    @Bean
    @ConditionalOnMissingBean(JedisPool.class)
    パブリックJedisPool jedisPool(){
        
        JedisPoolConfig poolConfig =新しいJedisPoolConfig()。
        poolConfig.setMaxIdle(jedisProperties.getPool()getMaxIdle()。)。
        poolConfig.setMaxTotal(jedisProperties.getPool()getMaxTotal()。)。
        poolConfig.setMaxWaitMillis(jedisProperties.getPool()getMaxWaitMillis()* 1000);
        
        JedisPool jedisPool =新新JedisPool(poolConfig、jedisProperties.getHost()、jedisProperties.getPort()、
                jedisProperties.getTimeout()* 1000年、jedisProperties.getPassword() 、0);
        jedisPoolを返す;
    }
}

4.テスト
機能がテスト開発開発機能の完了のために必要であり、
SpringBootは、テストクラスにテスト@RunWith()と@SpringBootTest注釈を導入する必要があります。
@Autowired JedisPoolによってテストクラスに注入
JedisPool Jedisが取得したオブジェクトは、Redisのを操作することができます。

特定のテストコードは以下の通りであります:

@RunWith(SpringRunner.class)
@SpringBootTest
パブリッククラスJedisTest {
    
    @Autowired
    プライベートJedisPool jedisPool;
    @Test
    公共ボイドSET(){
        Jedis jedis jedisPool.getResource =();
        jedis.set( "ABC"、 "123");
    }
    
    @Test
    公共ボイドGET(){
        jedis jedis jedisPool.getResource =();
        文字列値= jedis.get( "ABC");
        のSystem.out.println(値);
    }
}

迅速な統合jedisクライアント接続RedisのをSpringBoot2.0サービス固有のコード、私のgithubのビューをご覧ください。

githubのリンク:HTTPS://github.com/zhuoqianmingyue/springbootexamples/tree/master/lesson17_redis
--------------------- 
著者:ITユートピア-ムーン・テーブル・ 
ソース:CSDN 
元します。https://blog.csdn.net/ljk126wy/article/details/93303627 
著作権:この記事はブロガーのオリジナルの記事、再現され、ボーエンのリンクを添付してください!

おすすめ

転載: blog.csdn.net/qq_36688928/article/details/93465928