义齿
4691 ワード
統合手順
springbootの開梱と使用の特徴から、springboot統合redisは非常に簡単であることが予想されます.次の手順に従います.
1、インポート依存
この依存はspringboot統合Redisのstarter依存である
2、Redis接続属性の構成
springbootプライマリプロファイルで次のプロパティを構成します.
3,注入RedisTemplateクラス
RedisTemplateはspringパッケージの操作redisのテンプレートオブジェクトであり、redisの様々なデータ構造を容易に操作でき、上記の2つの統合ステップを経てspringbootは自動的にRedisTemplateオブジェクトを作成し、springコンテナに管理するので、springコンテナからオブジェクトを取得するだけでよい
mybatisキャッシュとしてRedisを使用
分散アプリケーションでは、mybatisの2次キャッシュを使用する必要がある場合、ehcacheなどのインラインキャッシュは使用できません.キャッシュデータが同期しないという問題が発生するため、Redisのような分散キャッシュを使用する必要があります.上記の統合手順でspringコンテナ内のRedisTemplateオブジェクトを取得できます.このRedisTemplateオブジェクトがあれば、Mybatis 2次キャッシュを開き、RedisTemplateオブジェクトでRedisを操作できます.具体的な使用手順は次のとおりです.
1、spring環境コンテキストオブジェクトを取得するためのツールクラスを作成する
なぜこのツールクラスがあるのですか?mybatisの2次キャッシュクラスはmybatisによって作成する必要があるため、各mapperオブジェクトはspringによって作成できないキャッシュオブジェクトインスタンスを作成します.RedisTemplateオブジェクトはspringによって作成されるので、springコンテナ以外のオブジェクトでspringキャパシタオブジェクトを取得するには@Autowired注記で直接注入することはできません.spring環境コンテキストのみで取得できます
2、mybatis二次キャッシュクラスの作成
mybatisの2次キャッシュ機能を使用する必要があるツールクラスは、mybatisのキャッシュインタフェース:
3、二次キャッシュの使用
2次キャッシュを使用するmapperファイルにラベルを追加するには
springbootの開梱と使用の特徴から、springboot統合redisは非常に簡単であることが予想されます.次の手順に従います.
1、インポート依存
この依存はspringboot統合Redisのstarter依存である
org.springframework.boot
spring-boot-starter-data-redis
2、Redis接続属性の構成
springbootプライマリプロファイルで次のプロパティを構成します.
# Redis ( 0)
spring.redis.database=0
# Redis
spring.redis.host=127.0.0.1
#Redis
spring.redis.port=6379
# Redis ( )
spring.redis.password=
# ( )
spring.redis.pool.max-active=8
# ( )
spring.redis.pool.max-wait=-1
#
spring.redis.pool.max-idle=8
#
spring.redis.pool.min-idle=0
# ( )
spring.redis.timeout=0
3,注入RedisTemplateクラス
RedisTemplateはspringパッケージの操作redisのテンプレートオブジェクトであり、redisの様々なデータ構造を容易に操作でき、上記の2つの統合ステップを経てspringbootは自動的にRedisTemplateオブジェクトを作成し、springコンテナに管理するので、springコンテナからオブジェクトを取得するだけでよい
@Autowired
RedisTemplate redisTemplata;
mybatisキャッシュとしてRedisを使用
分散アプリケーションでは、mybatisの2次キャッシュを使用する必要がある場合、ehcacheなどのインラインキャッシュは使用できません.キャッシュデータが同期しないという問題が発生するため、Redisのような分散キャッシュを使用する必要があります.上記の統合手順でspringコンテナ内のRedisTemplateオブジェクトを取得できます.このRedisTemplateオブジェクトがあれば、Mybatis 2次キャッシュを開き、RedisTemplateオブジェクトでRedisを操作できます.具体的な使用手順は次のとおりです.
1、spring環境コンテキストオブジェクトを取得するためのツールクラスを作成する
なぜこのツールクラスがあるのですか?mybatisの2次キャッシュクラスはmybatisによって作成する必要があるため、各mapperオブジェクトはspringによって作成できないキャッシュオブジェクトインスタンスを作成します.RedisTemplateオブジェクトはspringによって作成されるので、springコンテナ以外のオブジェクトでspringキャパシタオブジェクトを取得するには@Autowired注記で直接注入することはできません.spring環境コンテキストのみで取得できます
/**
* spring , spring ,
* , spring setApplicationContext
* spring ApplicationContext , : spring
* spring setApplicationContext 。
*/
@Component
public class ApplicationContextHolder implements ApplicationContextAware{
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
ApplicationContextHolder.applicationContext = applicationContext;
}
public static T getBean(String beanName){
return (T) applicationContext.getBean(beanName);
}
}
2、mybatis二次キャッシュクラスの作成
mybatisの2次キャッシュ機能を使用する必要があるツールクラスは、mybatisのキャッシュインタフェース:
org.apache.ibatis.cache.Cache
を実現する必要があります.そのため、mybatisRedisCacheクラスをカスタマイズし、mybatisのCacheインタフェースを実現し、このインタフェース上の抽象的な方法を実現します.以下は完全なコードです.public class MybatisRedisCache implements Cache{
private ReadWriteLock readWriteLock = new ReentrantReadWriteLock(true);
// spring RedisTemplate
RedisTemplate
3、二次キャッシュの使用
2次キャッシュを使用するmapperファイルにラベルを追加するには