spring boot以lettuce连接池整合redis-cluster(单机及集群版)
发布日期:2021-05-15 10:38:51 浏览次数:30 分类:精选文章

本文共 3067 字,大约阅读时间需要 10 分钟。

Spring Boot Redis???????

????

?????????Redis???

org.springframework.boot
spring-boot-starter-data-redis
org.apache.commons
commons-pool2

Redis????

?????

# Redis?????redis:    host: 192.168.40.156    port: 6379    password: 123456    lettuce:        pool:            max-active: 8            max-idle: 8            min-idle: 0            max-wait: -1

?????

# Redis?????redis:    timeout: 6000ms    database: 0    cluster:        nodes:            - 192.168.40.156:7001            - 192.168.40.156:7002            - 192.168.40.157:7003            - 192.168.40.157:7004            - 192.168.40.158:7005            - 192.168.40.158:7006        max-redirects: 3    lettuce:        pool:            max-active: 1000            max-idle: 10            min-idle: 5            max-wait: -1

Redis????

RedisConfig??

@EnableCachingpublic class RedisConfig extends CachingConfigurerSupport {    @Resource    private LettuceConnectionFactory lettuceConnectionFactory;    @Bean    public KeyGenerator keyGenerator() {        return new KeyGenerator() {            @Override            public Object generate(Object target, Method method, Object... params) {                StringBuilder sb = new StringBuilder();                sb.append(target.getClass().getName());                sb.append(method.getName());                for (Object obj : params) {                    sb.append(obj.toString());                }                return sb.toString();            }        };    }    @Bean    public CacheManager cacheManager() {        RedisCacheManager.RedisCacheManagerBuilder builder = RedisCacheManager.RedisCacheManagerBuilder                .fromConnectionFactory(lettuceConnectionFactory);        @SuppressWarnings("serial")        Set
cacheNames = new HashSet
() { { add("codeNameCache"); } }; builder.initialCacheNames(cacheNames); return builder.build(); } @Bean public RedisTemplate
redisTemplate(LettuceConnectionFactory lettuceConnectionFactory) { Jackson2JsonRedisSerializer
jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer( Object.class); ObjectMapper om = new ObjectMapper(); om.setVisibility(PropertyAccessor.ALL, Visibility.ANY); om.enableDefaultTyping(DefaultTyping.NON_FINAL); jackson2JsonRedisSerializer.setObjectMapper(om); RedisTemplate
redisTemplate = new RedisTemplate<>(); redisTemplate.setConnectionFactory(lettuceConnectionFactory); RedisSerializer
stringSerializer = new StringRedisSerializer(); redisTemplate.setKeySerializer(stringSerializer); redisTemplate.setValueSerializer(jackson2JsonRedisSerializer); redisTemplate.setHashKeySerializer(stringSerializer); redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer); redisTemplate.afterPropertiesSet(); return redisTemplate; }}

????

???????????????????????????????????????Redis??????????Redis??????????????????????

上一篇:极客时间 IT 20+ 张 各架构 高清技能图谱
下一篇:Ubuntu初始化root密码

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年05月05日 18时50分36秒