当前位置: 首页 > news >正文

深圳网站设计公司yx成都柚米科技15武汉百度信息流广告

深圳网站设计公司yx成都柚米科技15,武汉百度信息流广告,滕州做网站的多少,滨州网站建设 远洋科技问题描述 最近遇到一个 Redis 多数据源切换问题,不过我这个没有那么动态切换需求,所以就写了一种比较硬编码的方式来做『切换』 其实大概的场景是这样的:不同的开发环境调用 db0、生产环境调用 db1,但是因为业务原因&#xff0c…

问题描述

最近遇到一个 Redis 多数据源切换问题,不过我这个没有那么动态切换需求,所以就写了一种比较硬编码的方式来做『切换』

其实大概的场景是这样的:不同的开发环境调用 db0、生产环境调用 db1,但是因为业务原因,当中有一部分的业务需要共享数据(中心数据),所以想把 db15 当作他们的共享数据库。

原因分析

思路很简单,只要生产 2 个 RedisTemplate 即可:

  1. 调用默认的 db RedisTemplate
  2. 调用共享的 db RedisTemplate

解决方案

import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
import org.springframework.data.redis.connection.jedis.JedisClientConfiguration;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.connection.lettuce.LettuceClientConfiguration;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.connection.lettuce.LettucePoolingClientConfiguration;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericToStringSerializer;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
import javax.annotation.Resource;
import java.time.Duration;/*** @author Lux Sun* @date 2020/5/9*/
@Slf4j
@Configuration
public class RedisConfig {@Resourceprivate JedisConnectionFactory jedisConnectionFactory;@Beanpublic RedisTemplate<String, Object> comnRedisObjectTemplate(@Value("${spring.redis.host}") String host,@Value("${spring.redis.port}") int port) {RedisStandaloneConfiguration redisConfig = new RedisStandaloneConfiguration();redisConfig.setHostName(host);redisConfig.setPort(port);// 指定 database 15redisConfig.setDatabase(15);GenericObjectPoolConfig config = new GenericObjectPoolConfig();JedisClientConfiguration clientConfiguration = JedisClientConfiguration.builder().usePooling().build();JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory(redisConfig, clientConfiguration);RedisTemplate<String, Object> template = new RedisTemplate<>();template.setConnectionFactory(jedisConnectionFactory);Jackson2JsonRedisSerializer<Object> serializer = new Jackson2JsonRedisSerializer<>(Object.class);ObjectMapper om = new ObjectMapper();om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);serializer.setObjectMapper(om);StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();// key采用String的序列化方式template.setKeySerializer(stringRedisSerializer);// hash的key也采用String的序列化方式template.setHashKeySerializer(stringRedisSerializer);// value序列化方式采用jacksontemplate.setValueSerializer(serializer);// hash的value序列化方式采用jacksontemplate.setHashValueSerializer(serializer);template.afterPropertiesSet();return template;}@Beanpublic RedisTemplate<String, Object> redisObjectTemplate() {RedisTemplate<String, Object> template = new RedisTemplate<>();template.setConnectionFactory(jedisConnectionFactory);Jackson2JsonRedisSerializer<Object> serializer = new Jackson2JsonRedisSerializer<>(Object.class);ObjectMapper om = new ObjectMapper();om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);serializer.setObjectMapper(om);StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();// key采用String的序列化方式template.setKeySerializer(stringRedisSerializer);// hash的key也采用String的序列化方式template.setHashKeySerializer(stringRedisSerializer);// value序列化方式采用jacksontemplate.setValueSerializer(serializer);// hash的value序列化方式采用jacksontemplate.setHashValueSerializer(serializer);template.afterPropertiesSet();return template;}
}
http://www.ritt.cn/news/26614.html

相关文章:

  • 广西庆海建设发展有限公司网站搜狗登录入口
  • 专门做节日预购网站有哪些抖音广告投放代理商
  • 网站建设分析2024很有可能再次封城吗
  • 商务网站建设的流程图策划营销推广方案
  • wordpress会员查看发布插件山东服务好的seo公司
  • 鞍山+网站建设河南新站关键词排名优化外包
  • 长沙品牌网站制作服务报价小广告设计
  • 对互联网网站的理解seo职位
  • 服务平台网站设计网站按天扣费优化推广
  • 地方性小网站的建设关键词优化策略
  • 嘉兴做外贸网站比较好的公司互联网营销培训平台
  • 做外贸是网站好还是展会好专门代写平台
  • 东营网红餐厅优化防疫政策
  • 打广告天津百度推广排名优化
  • 做网站视频用哪个视频编辑软件站长之家权重查询
  • vs2017js网站开发方法百度关键词搜索量统计
  • 建设信用中国网站的目的免费的关键词挖掘工具
  • 做网站跟app需要多少钱全球十大搜索引擎
  • 西安网站建设公司有哪些邯郸seo排名
  • 网站做seo必要的结构日本和韩国是亚洲的国家
  • 沈阳网站设计站长工具seo综合查询降级
  • 重庆品牌网站建设公司app安装下载
  • 沈阳营销型网站建设下载百度免费版
  • 郑州市政务公开烟台seo
  • 淘宝做导航网站有哪些软文广告范文
  • 外包网站设计火蝠电商代运营公司
  • 全市政府网站建设报告网络舆情监测平台
  • 网站开发总结找一个免费域名的网站
  • 网上做兼职的网站有哪些sem推广是什么意思呢
  • 最新网站建设电脑培训班一般多少钱