spring boot集成RedisTemplate

    技术2023-03-29  108

    一、引入依赖

    <!--redis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>

    二、配置文件

    spring: redis: host: 127.0.0.1 password: port: 6379 database: 0 pool: max-active: 150 min-idle: 30 max-idle: 150 max-wait: -1 timeout: 10000

    三、简单操作

    1.redisTemplate.opsForValue();//操作字符串 2.redisTemplate.opsForHash(); //操作hash 3.redisTemplate.opsForSet(); //操作set 4.redisTemplate.opsForList();//操作list 5.redisTemplate.opsForZSet();//操作有序s

    四、配置Redis的序列化规则

    package com.lc.authenticate.config; import org.springframework.cache.annotation.EnableCaching; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.cache.RedisCacheConfiguration; import org.springframework.data.redis.cache.RedisCacheManager; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.serializer.*; import java.time.Duration; /** * redis配置 * 主要是配置Redis的序列化规则,用Jackson2JsonRedisSerializer替换默认的jdkSerializer * * @author lc * @date 2018/8/8 16:39 */ @Configuration @EnableCaching public class RedisConfig { /** * 过期时间1天 */ private Duration timeToLive = Duration.ofDays(1); @Bean public RedisCacheManager cacheManager(RedisConnectionFactory connectionFactory) { //默认1 RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig() .entryTtl(this.timeToLive) .serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(keySerializer())) .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(valueSerializer())) .disableCachingNullValues(); RedisCacheManager redisCacheManager = RedisCacheManager.builder(connectionFactory) .cacheDefaults(config) .transactionAware() .build(); return redisCacheManager; } @Bean public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory factory) { StringRedisTemplate template = new StringRedisTemplate(factory); template.setValueSerializer(new StringRedisSerializer()); template.setKeySerializer(new StringRedisSerializer()); template.afterPropertiesSet(); return template; } private RedisSerializer<String> keySerializer() { return new StringRedisSerializer(); } private RedisSerializer<Object> valueSerializer() { return new GenericJackson2JsonRedisSerializer(); } }

    五、使用示例

     

     

    Processed: 0.016, SQL: 9