この記事では、Redis、Apachsolr、SpringsessionのSpringbootの統合を紹介し、それを共有します。詳細は次のとおりです。
1。はじめに
発売以来、Springbootは、その便利な構成のために開発者に好まれています。多くの退屈な構成を簡素化するために、さまざまなスターターを提供します。 DruidとMybatisのスプリングブート統合は一般的なものなので、ここで詳しくは紹介しません。今日は、Redis、Apachesolr、Springsessionを統合するためにSpringbootの使用を導入します。
2。スプリングブートはRedisを統合します
Redisは、最も一般的に使用されるキャッシュの1つです。一般に、Redisは高可用性(HA)、クラスター、またはセンチネルを構築します。特定の建設方法については、公式のRedis文書を参照してください。ここでセンチネルの例を挙げました。通常、Redissentinelを構築する3つのノードがあります。レディス港は一般に6379で、センチネル港は一般に26379です。
Springbootを使用してRedisを統合したい場合は、最初に対応するRedisスターターをPOMに追加する必要があります。
<Dependency> groupId> org.springframework.boot </groupid> <artifactid> spring-boot-starter-data-redis </artifactid> </dependency>
JARパッケージを導入した後、Redissentinel構成を直接追加して、Application.Propertiesファイルの統合を完了できます。
spring.redis.sentinel.master = mymasterspring.redis.sentinel.nodes = 192.168.2.233:26379,192.168.2.234:26379,192.168.2.235:26379 spring.redis.pool.max- active = 1024spring.redis.pool.max-idle = 200spring.redis.pool.min-idle = 100spring.redis.pool.max-wait = 10000
Sentinel.masterはマスターの名前です。 redissentinelを構築するときに、マイマスターのデフォルト名が使用されます。
Sentinel.NodesはSentinelノードです。 Redisノードではなく、Sentinelノードであることに注意してください。 IP:ポートの形式を使用し、複数のノードが「」で区切られています。
接続プール情報は次のとおりです。
プログラムでは、Redisで動作するようにRediStemplateを直接注入できます
@autowiredprivate stringredistemplate stringredistemplate;
この時点で、Redisは統合されています。
3.スプリングブートはスプリングセッションを統合します
Springsessionは、コンテナを通過せずにクラスターセッションの管理を提供します。データベース、Redis、MongoDBなど、さまざまなストレージレイヤーにアクセスできます。SpringBootとシームレスに組み合わせることができます。
まず、プロジェクトにスプリングセッションを紹介し、次の構成をPOMに追加します。
<Dependency> groupId> org.springframework.session </groupid> <artifactid> spring-session </artifactid> </dependency>
次に、application.propertiesでストレージタイプのスプリングセッションを指定します。
spring.session.store-type = redis
これは、泉の非常に簡単な統合です。 Cookieに特別な要件がある場合は、プロジェクトに新しいCookie Beanを作成して、Springbootで作成された豆を自動的に交換できます。詳細は次のとおりです。
@bean public defaultCookieserializer cookieserializer(){defaultCookieserializer cookie = new DefaultCookieserializer(); cookie.setcookiename( "springboot_id");クッキーを返す; }上記の例では、Cookieの名前を変更しました。他のプロパティを変更する必要がある場合は、関連するプロパティ値を設定してください。
4.スプリングブートはsolrを統合します
Apachesolrは比較的一般的な検索エンジンであり、Springbootはすべての人が開発できるように非常に便利に統合することもできます。 Apachesolrの特定の概念と使用については、関連する文書をご覧ください。 solrを構築するとき、Zookeeperを使用してSolrcloudを構築してSolrの使いやすさを向上させます。ここでは、solrcloudを整理します。
まず、Apachesolrのスターターを紹介します。
<Dependency> groupId> org.springframework.boot </groupid> <artifactid> spring-boot-starter-data-solr </artifactid> </dependency>
Application.Propertiesで、次のようにZookeeper情報を追加します。
コードコピーは次のとおりです。
spring.data.solr.zk-host = 192.168.2.233:2181,192.168.2.234:2181,192.168.2.235:2181
複数のZookeeperが「、」によって分離されている場合。
このようにして、SpringbootはApachesolrを統合します。これは非常に便利です。次に、spring-dataを使用してsolrにアクセスできます。
1。solrに対応する独自のエンティティクラスによって返されたデータを書きます。特定のコードは次のとおりです。
@setter@getter@solrdocument(solrcorename = "xy_company")public class solrcompany {@field( "id")private string id; @field( "companyName_txt")private string companyName; }@setter@getter 2つの注釈はより一般的であり、GetおよびSet Methodを生成するために使用されます。
@solrdocument(solrcorename = "xy_company")は、このエンティティがsolrのコアまたはコレクションに対応することを指定します。コアは単一のインスタンスの名前であり、コレクションはsolrcloudの名前であり、これはほぼ同じことを意味します。
@field( "id")、solrの対応するフィールドを指定するために使用されます。
2。独自のストレージレイヤーを書き、次のようにsolrcrudrepositoryを継承します。
Public Interface CompanyRepositoryはsolrcrudrepository <solrcompany、string> {list <solrcompany> findbycompanyname(string companyName);}このようにして、このストレージレイヤーはsolrにアクセスできます。複数のストレージレイヤーが1つのエンティティを共有する場合、異なるリポジトリを継承するために複数のストレージレイヤーを書き込むことができます。詳細については、Spring-Dataを参照してください。
3。あなた自身のビジネスでは、solrを使用してください
パブリックリスト<Solrcompany> getCompanyByName(String CompanyName){return CompanyRepository.findbycompanyname(companyName); }この時点で、SpringbootはSolRを統合しますが、非常に簡単です。
次に、Mongodb、Kafkaなどの主流のフレームワークの統合も紹介します。この時間の詳細なコードについては、github:https://github.com/bigbugliu/spring-boot-demoを参照してください。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。