まず、Mavenの依存関係を追加
< 依存性> < のgroupId > org.springframework.boot </ のgroupId > < たartifactId >ばねブートスタータデータRedisの</ たartifactId > < バージョン> 2.1.3.RELEASE </ バージョン> </ 依存>
二.application.ymlはRedisの構成を設定します
春: データソース: URLます。jdbc:mysqlの:// localhostを:?3306 /オーダーserverTimezone = GMT%2B8 &characterEncoding = UTF-8 のユーザー名:ルート パスワード:XXXXXXの Redisの: ホスト:IP データベース:0 ポート:6379 パスワード:
SPIモードに合わせてドライバパッケージは、自動的に負荷があればjdbc4.0は、ドライバをロードするために、明示的ではない
があれば、プログラムが自動的に見つけるために行くことを意味プロジェクト主導全く自然なドライブが接続されていないされていないが存在する場合、当然のことながら、
第三に、コンフィギュレーション・クラスのRedisを書きます
デフォルトでは、JDKのRedisのシリアル化された方法を使用することです。
JdkSerializationRedisSerializer
エンティティを保存した後、Redisの中で文字化け実体情報は、Redisのは、デフォルトの直列、コンフィギュレーション・ファイル作成RedisConfigを変更する必要があります
@Configuration パブリック クラスRedisConfig { // 设置过期时间 パブリック 静的時間liveTime = Duration.ofDays(1 )。 @Bean 公共RedisCacheManager redisCacheManager(RedisConnectionFactoryはconnectionFactory){ RedisCacheConfiguration cacheConfiguration = RedisCacheConfiguration.defaultCacheConfig()。entryTtl(liveTime) .serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(新しいStringRedisSerializer())) .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(新GenericJackson2JsonRedisSerializer())) .disableCachingNullValues(); RedisCacheManager redisCacheManager = RedisCacheManager.builder(はconnectionFactory) .cacheDefaults(cacheConfiguration).transactionAware()()を構築します。 返すredisCacheManagerを。 } @Bean 公共 RedisTemplateの<string、オブジェクト> redisTemplate(RedisConnectionFactory redisConnectionFactory)はスローUnknownHostExceptionが{ RedisTemplateの<string、オブジェクト>テンプレート= 新しいRedisTemplate()。 template.setConnectionFactory(redisConnectionFactory)。 // 细化序列化 template.setKeySerializer(新しいStringRedisSerializer()); template.setHashKeySerializer(新しいStringRedisSerializer()); template.setValueSerializer(新しいGenericJackson2JsonRedisSerializer()); template.setHashValueSerializer(新しいGenericJackson2JsonRedisSerializer()); // 修改默认序列化器 / * Jackson2JsonRedisSerializerシリアライザ=新しいJackson2JsonRedisSerializer(Object.classを); template.setDefaultSerializer(シリアライザ)。* / リターン・テンプレート。 } }
第四に、注釈の方法の使用は、Redisのを使用します
@Service パブリック クラスEmpService { @Autowired プライベート; EmpMapper empMapperを @Cacheable(cacheNames = { "EMP" }) 公衆のEmp getEnp(int型のID){ 戻りempMapper.getEmpById(ID)を、 } @CachePut 公共 INT insertEmp(EMPのEMP){ 戻りempMapper.insertEmp(EMP)は、 } @CacheEvict(beforeInvocation = 偽、値= "EMP" ) パブリック INT delEmp(int型のID){ empMapper.delEmp(ID)。 リターン 1 ; } @CachePut(キー = "#1 p0.id"、値= "EMP" ) 公衆のEmp updateEmp(EMPのEMP){ empMapper.updateEmp(EMP)。 リターンEMP; } }