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

免费商城网站制作网站建设制度

免费商城网站制作,网站建设制度,免费的创建个人网站,百度seo查询工具背景 在今天服务更改服务配置的redis的database后,本地测试通过,发布到线上。出现所有用户登录状态失效,并且重新登录后也是失效的问题,由于鉴权登录框架使用的是satoken,线上database配置的是1,然后去red…

背景

在今天服务更改服务配置的redis的database后,本地测试通过,发布到线上。出现所有用户登录状态失效,并且重新登录后也是失效的问题,由于鉴权登录框架使用的是satoken,线上database配置的是1,然后去redis中查看,确实是存在对应登录的token的,然后实在没办法,就在本地复现一下,本地使用的database是0,这时候用户服务 登录后正常,其余服务鉴权也正常,换成1后,就出现了问题,这时候去看redis 其中是存在用户token信息的,然后逐步去排查,到satoken的底层获取token时,发现了问题,redisclient中的 database是0,但是配置的是1,同时通过配置注入拿到的也是1
在这里插入图片描述
在这里插入图片描述

然后发现,Redis的connection是redission的,这时候去看redission的配置文件,发现指定的是0,到这就解决了,是redission配置的redis链接
从你提供的两张截图分析:

  • 第一张截图里,SingleServerConfigdatabase0
  • 第二张截图里,你的配置类(比如叫 RedisCacheConfig)中 redisDatabase = 1,配置正确传递到了你的配置类中
  • 同时第二张截图中的 redisConnectionFactoryRedisConnectionFactory 的实例,但数据库还是0(从第一张截图推断,这个底层配置数据库是0)

结合这两张截图和现象,问题核心是:

配置项 spring.data.redis.database=1 被正确加载到了你的配置类里,但是底层真正创建 Redis 连接(SingleServerConfig)时,数据库索引依然是0,说明配置没有传递到底层客户端的连接配置(比如 Lettuce 或 Redisson)中。


具体原因和排查方向

1. Redis Client 是什么?

你截图展示了 SingleServerConfig,这是 Redisson 的配置类,不是 Spring Data Redis 默认的 Lettuce 或 Jedis 客户端。

  • Redisson 自带了自己的连接配置(SingleServerConfig),它不会自动读取 Spring Boot 的 spring.data.redis.* 配置。
  • 你配置文件里设置的 spring.data.redis.database 是给 Spring Data Redis Lettuce/Jedis 客户端使用的,但你项目中可能还用了 Redisson,且 Redisson 的配置不是从 Spring 配置文件读取,而是单独配置的。
2. 你的 RedisCacheConfig 配置了 redisDatabase=1,但传给 Redisson 的 SingleServerConfig 里并没有正确设置数据库索引。

解决方案

你需要确认并修改 Redisson 的配置,显式地指定数据库索引为 1。

示例(基于 Redisson 的Java配置):

import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.redisson.config.SingleServerConfig;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class RedissonConfig {@Value("${spring.data.redis.host}")private String redisHost;@Value("${spring.data.redis.port}")private int redisPort;@Value("${spring.data.redis.password}")private String redisPassword;@Value("${spring.data.redis.database}")private int redisDatabase;@Bean(destroyMethod = "shutdown")public RedissonClient redissonClient() {Config config = new Config();SingleServerConfig serverConfig = config.useSingleServer();serverConfig.setAddress("redis://" + redisHost + ":" + redisPort);serverConfig.setPassword(redisPassword);serverConfig.setDatabase(redisDatabase);  // **关键,设置数据库为1**return Redisson.create(config);}
}

总结

  • Spring Boot 的spring.data.redis.database配置后面只对Spring Data Redis默认客户端生效(Lettuce/Jedis)
  • Redisson使用单独的配置对象(SingleServerConfig),需要你手动把数据库索引传进去
  • 你当前的Redisson配置缺少 setDatabase(1),因此用的是默认的数据库0

你只要在你的 Redisson 配置类里,给 SingleServerConfig 显式调用 setDatabase(redisDatabase),这样底层 Redis 连接才会连接到数据库1,而不是默认的0。

http://www.dtcms.com/a/511013.html

相关文章:

  • 网站开发个人博客深圳企业年报网上申报入口
  • 企业营销型网站的内容网站开发设计总结
  • 深圳加盟网站建设wordpress路由正则
  • 陵水网站建设费用深圳还有网站
  • 网站建设的七夕文案国家免费职业培训平台
  • 用帝国cms做门户网站找客户资源的软件
  • 成都网站建设常见问题网站设置英文怎么说
  • 酒店网站建设方案策划seo优化顾问服务
  • 网站制作做站长挣钱网站建设 文库
  • ip域名查询网站入口网站价格评估 优帮云
  • 企业网站建设方案书模板asp.net制作网站开发
  • 做暧暧前戏视频网站wordpress调图片大小
  • 怎么做网站访问截取ip网站的作用
  • 南昌建筑行业网站开发我想自己卖特产怎么做网站
  • cms网站有哪些it人力外包
  • 做平面的网站深圳app开发哪家专业
  • 泉州网站建设费用网络宣传网站建设制作
  • 网站为什么打不开注册开发公司
  • 代做seo关键词排名常州网站关键词优化咨询
  • 金融网站策划方案建设网站观澜
  • 网站收录一般多久广州互联网项目工作室
  • 孝感建设银行官网站牡丹江关键词优化
  • 金华高端网站设计发布网站后不可能存在的文件夹是
  • 网站建设需准备什么网站字体变大代码
  • WordPress注册验证修改注册江苏网站seo平台
  • 做兼职网站赚钱吗专业简历制作管理平台
  • 厦门集团网站建设网站策划与建设阶段
  • 网站排名的重要性dedecms物流企业网站模板(适合快递
  • 内蒙古城乡和建设厅网站附近注册公司代理机构
  • 十大免费cms建站系统介绍做网站淘宝条形码