この記事では、Springboot ProjectでRedisキャッシュを使用する方法と手順を紹介します。私はあなたとそれを共有します。詳細は次のとおりです。
Spring Data Redisは、使用を簡素化するためにRedisクライアントのさまざまな操作をカプセル化します。
- Redisがデータベースまたはメッセージキューとして使用される場合、通常、Redistemplateを使用して動作します
- Redisがキャッシュとして使用される場合、スプリングキャッシュの実装として使用できます。注釈を通じて直接使用できます
1。概要
アプリケーションでRedisキャッシュを効果的に利用すると、特にクエリ操作の場合、データベースの圧力を効果的に削減できるクエリ操作の場合、システムのパフォーマンスをうまく改善できます。
特定のコードについては、この例プロジェクトを参照してください
2.参照を追加します
Build.Gradleに参加してください
コンパイル( 'org.springframework.boot:spring-boot-starter-data-redis')
Springbootは、Redis関連のJARパッケージを自動的に導入します。この参照を追加した後、Redisをローカルにインストールして起動する必要があります。そうしないと、プログラムが開始されたときにエラーが報告されます。
3.注釈を介してキャッシュを有効にします
スプリングブートでRedisを有効にするのは非常に簡単です。アプリケーションメインクラスに@enableCachingアノテーションを追加し、キャッシュを有効にする必要があるクエリメソッドに@Cachable Annotationを追加するだけです。
@SpringBootApplication@enableCachingPublicクラスのデモアップリケーションは、CommandLinerunner {...クエリインターフェイス:
public interface testRepositoryはjparePository <test、integer> {@cachable(value = "testcache")パブリックテストfindOne(integer id);}エンティティクラスはシリアル化可能なインターフェイスを実装する必要があります。そうしないと、JavaオブジェクトをRedisにシリアル化できないため、プログラムはエラーを報告します。 Redis in Springbootは、JDK独自のシリアル化方法を使用するデフォルトでDefaultSerializerを使用します。
合計で次のシリアル化方法があります。特定の使用シナリオについては、公式ドキュメントを参照してください。
1。GenericJackson2JSonRedisserializer
2。GenerictStringserializer
3。Jackson2Jsonredisserializer
4。Jacksonjsonredisserializer
5。JdkserializedRedisserializer
6。oxmserializer
7。StringRedisSerializer
この時点で、私たちのプログラムには、Redisキャッシュからデータを照会する機能があります。 Redisに保存されているキーの美学を気にしないと、作業は終わります。
4。美しい鍵
プログラムを実行した後、Redis-CliでKey *コマンドを実行すると、キーの値は、Garled Codeに似たものの束であることがわかります。
"testcache:/xac/xed/x00/x05sr/x00/x11java.lang.integer/x12/xe2/xa0/xa4/xf7/x81/x878/x02/x00/x01i/x0 0/x05ValueExr/x00/x10java.lang.number/x86/xac/x95/x1d/x0b/x94/xe0/x8b/x02/x00/x00xp/x00/x00/x00/x01 "
これの重要な値は、おそらくRedisの運用および保守担当者に受け入れられないでしょう。少なくとも人々にそれを理解させるには、キー値をより良く見せる方法を見つける必要があります。
上記のキー値の理由は、SimpleKeyクラスがRedisキーを生成するためにデフォルトでデフォルトで使用されるためです。
ソリューションも非常にシンプルです。キャッシュ構成を追加し、Redisがキーを生成する方法を指定します。
@configurationpublic class cacheconfigは、cachingconfigurerSupportを拡張します{@autowired private redistemplate redistemplate; @bean public cachemanager cachemanager(){redistemplate.setkeyserializer(new generictostringserializer <object>(object.class)); RediscacheManager cachemanager = new RediscacheManager(Redistemplate); cachemanager.setDefaultExpiration(3600); cachemanager.setuseprefix(true); cachemanager.setcacheprefix(new Rediscacheprefix(){private final redisserializer <string> serializer = new Stringredisserializer(); private final string delimiter = ":"; public byte [] fretix(string cachename){return this.serializer .serialize(cachename.cat) CacheManagerを返します。 }}で
コードコピーは次のとおりです。
redistemplate.setkeyserializer(new generictostringserializer <object>(object.class));
このコード行は、Redisのキー値の生成方法を指定します。 GenerictStringserializerのシリアル化方法は、Javaオブジェクトを文字列に変換し、Redisに保存します。
5。概要
スプリングブートでRedisキャッシュを有効にすることは非常に簡単です。いくつかの注釈を追加するだけです。同時に、キャッシュ構成を追加して、Redisに保存されているキー値を、多くの文字化けデータではなく、読みやすくすることができます。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。