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

用网站名查询网址/seo基本步骤

用网站名查询网址,seo基本步骤,wordpress 首页弹窗,深圳市宝安区区号如果是配置多个集群或者只有一个单机的Redis数据源可以参考: https://blog.csdn.net/lonely_bin/article/details/100137626 如果配置单机哨兵两种数据源可以用下方代码: 1、springboot关于redis的启动pom要引入,这个都是一样的 2、yml配…

如果是配置多个集群或者只有一个单机的Redis数据源可以参考:

https://blog.csdn.net/lonely_bin/article/details/100137626

如果配置单机+哨兵两种数据源可以用下方代码:

1、springboot关于redis的启动pom要引入,这个都是一样的

2、yml配置文件:

spring:redis:database: 2password: xxsentinel:master: mymaster# 逗号分隔, 逗号前后不要有空格nodes: 172.16.116.***:26381,172.16.116.###:26382,172.16.116.XXX:26383lettuce:pool:# 最大活跃链接数 默认8max-active: 5# 最大空闲连接数 默认8max-idle: 10# 最小空闲连接数 默认0min-idle: 0secondaryRedis:host: 172.16.100.xxport: 6379password: xxx

3、Redis配置类

import com.alibaba.fastjson.support.spring.FastJsonRedisSerializer;
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.core.env.Environment;
import org.springframework.core.env.MapPropertySource;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.connection.RedisSentinelConfiguration;
import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
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.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;import java.util.HashMap;
import java.util.Map;@Configuration
public class RedisConfig {@Autowiredprivate Environment environment;@Bean@Primary@ConfigurationProperties(prefix = "spring.redis.lettuce.pool")public GenericObjectPoolConfig redisPool() {return new GenericObjectPoolConfig();}/*** 配置第一个数据源的** @return*/@Bean("redisSentinelConfig")@Primarypublic RedisSentinelConfiguration redisSentinelConfig() {Map<String, Object> source = new HashMap<>(8);source.put("spring.redis.sentinel.nodes", environment.getProperty("spring.redis.sentinel.nodes"));RedisSentinelConfiguration redisSentinelConfiguration;redisSentinelConfiguration = new RedisSentinelConfiguration(new MapPropertySource("RedisSentinelConfiguration", source));redisSentinelConfiguration.setMaster(environment.getProperty("spring.redis.sentinel.master"));redisSentinelConfiguration.setPassword(environment.getProperty("spring.redis.password"));return redisSentinelConfiguration;}/*** 配置第一个数据源的连接工厂* 这里注意:需要添加@Primary 指定bean的名称,目的是为了创建两个不同名称的LettuceConnectionFactory** @param redisPool* @param redisSentinelConfig* @return*/@Bean("lettuceConnectionFactory")@Primarypublic LettuceConnectionFactory lettuceConnectionFactory(GenericObjectPoolConfig redisPool, @Qualifier("redisSentinelConfig") RedisSentinelConfiguration redisSentinelConfig) {LettuceClientConfiguration clientConfiguration = LettucePoolingClientConfiguration.builder().poolConfig(redisPool).build();return new LettuceConnectionFactory(redisSentinelConfig, clientConfiguration);}/*** 配置第一个数据源的RedisTemplate* 注意:这里指定使用名称=factory 的 RedisConnectionFactory* 并且标识第一个数据源是默认数据源 @Primary** @param redisConnectionFactory* @return*/@Bean("redisTemplate")@Primarypublic RedisTemplate redisTemplate(@Qualifier("lettuceConnectionFactory") RedisConnectionFactory redisConnectionFactory) {return getRedisTemplate(redisConnectionFactory);}/*** 配置第二个数据源** @return*/@Bean("secondaryRedisStandaloneConfig")public RedisStandaloneConfiguration secondaryRedisConfig() {RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration();redisStandaloneConfiguration.setHostName(environment.getProperty("spring.secondaryRedis.host"));redisStandaloneConfiguration.setPort(Integer.valueOf(environment.getProperty("spring.secondaryRedis.port")));redisStandaloneConfiguration.setPassword(environment.getProperty("spring.secondaryRedis.password"));return redisStandaloneConfiguration;}@Bean("secondaryLettuceConnectionFactory")public LettuceConnectionFactory secondaryLettuceConnectionFactory(GenericObjectPoolConfig redisPool, @Qualifier("secondaryRedisStandaloneConfig")RedisStandaloneConfiguration secondaryRedisStandaloneConfig) {LettuceClientConfiguration clientConfiguration = LettucePoolingClientConfiguration.builder().poolConfig(redisPool).build();return new LettuceConnectionFactory(secondaryRedisStandaloneConfig, clientConfiguration);}/*** 配置第一个数据源的RedisTemplate* 注意:这里指定使用名称=factory2 的 RedisConnectionFactory** @param redisConnectionFactory* @return*/@Bean("secondaryRedisTemplate")public RedisTemplate secondaryRedisTemplate(@Qualifier("secondaryLettuceConnectionFactory") RedisConnectionFactory redisConnectionFactory) {return getRedisTemplate(redisConnectionFactory);}private RedisTemplate getRedisTemplate(RedisConnectionFactory factory) {RedisTemplate<String, Object> template = new RedisTemplate<>();template.setConnectionFactory(factory);StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();FastJsonRedisSerializer<Object> fastJsonRedisSerializer = new FastJsonRedisSerializer<>(Object.class);// key采用String的序列化方式template.setKeySerializer(stringRedisSerializer);// hash的key也采用String的序列化方式template.setHashKeySerializer(stringRedisSerializer);// value序列化方式采用FastJSON的序列化方式template.setValueSerializer(fastJsonRedisSerializer);// hash的value序列化方式采用FastJSON的序列化方式template.setHashValueSerializer(fastJsonRedisSerializer);template.afterPropertiesSet();return template;}}

4、使用:

@Autowired
@Qualifier("redisTemplate")
private RedisTemplate redisTemplate;@Autowired
@Qualifier("secondaryRedisTemplate")
private RedisTemplate secondaryRedisTemplate;

5、使用的时候出现了bug:

ClassCastException:Long cannot be cast to String 

明明存的时候是String,接的时候也是String,但是debug发现序列化的时候序列化成了Long类型,这个set是long类型的了,后边按照String类型便利则报类型转换异常了

解决:

由于redisTemplate配置的序列化为json,所以序列化的问题,修改:

 

 

 

http://www.jmfq.cn/news/5079079.html

相关文章:

  • 代码网站建设/成都网站seo费用
  • 商城网站建设适合于哪类企业/google关键词搜索量
  • 装修网站怎么做的好/亚马逊免费的关键词工具
  • 漳州城乡建设局网站/用asp做的网站
  • 个人做网站时不要做什么样的网站/上百度推广的网站要多少钱
  • 做全球视频网站赚钱吗/网络营销策划书怎么写
  • 国内界面优秀的网站/b站2020推广网站
  • 可以做任务挣钱的网站/免费找精准客户软件
  • 管理网站怎么做/腾讯域名注册官网
  • 南昌市住房和城乡建设局网站/快速排名生客seo
  • 设计师网站/关键词优化如何
  • 怎么做招聘网站的数据分析/有没有帮忙推广的平台
  • 做采集网站/浙江网站建设制作
  • 运城建设网站/百度普通下载
  • 云南网站建设百度官方/杭州seo搜索引擎优化公司
  • 桥梁建设网站/怎么做app推广代理
  • 响应式网站 html/网站如何优化推广
  • 多个域名多国语言网站seo优化/留号码的广告网站不需要验证码
  • 品牌网站策划书/页面设计漂亮的网站
  • 高端企业门户网站建设服务公司/数字营销
  • 网站设计外包/东莞seoseo关键词排名优化
  • .网站建设课程设计/如何优化关键词搜索
  • 政府门户网站设计/国家优化防控措施
  • 网站建设flash/免费推广渠道有哪些
  • 南昌seo如何优化/苏州优化收费
  • 制作电子商务网站页面/重庆seo标准
  • 做网站虚拟主机多少钱/seo站点是什么意思
  • 做秒杀网站/seo怎么优化关键词排名
  • 网上写作真正能赚钱的网站/让顾客进店的100条方法
  • 做办公室的网站/成都做整站优化