Closed piaohao closed 5 years ago
而且spring session 处理session是通过 pub/sub的模式,jodis也是不支持的
package org.springframework.session.data.redis;
public class CodisOperationsSessionRepository extends RedisOperationsSessionRepository {
public CodisOperationsSessionRepository(RedisConnectionFactory redisConnectionFactory) {
super(redisConnectionFactory);
}
public CodisOperationsSessionRepository(RedisOperations<Object, Object> sessionRedisOperations) {
super(sessionRedisOperations);
}
@Override
public void save(RedisOperationsSessionRepository.RedisSession session) {
session.setNew(false);
super.save(session);
}
}
是的,spring session有个pub/sub。所以我们通过这个绕过了。
那这个问题如何解决呢?只能配置Codis集群?还是修改项目的代码?
那这个问题如何解决呢?只能配置Codis集群?还是修改项目的代码?
楼上给出了session 的解决方案,重写redis存储方式即可, 但最终出于兼容性问题,我们还是放弃了codis
那这个问题如何解决呢?只能配置Codis集群?还是修改项目的代码?
楼上给出了session 的解决方案,重写redis存储方式即可, 但最终出于兼容性问题,我们还是放弃了codis
那您的做法不修改代码,将Codis换成了redis集群了吧?
第一阶段我们使用了redis cluster集群,但线上运行半年发现,redis cluster并不稳定,莫名其妙的会挂掉,而且故障转移配置较为麻烦,需要较高的运维水平,于是我们放弃了redis cluster; 第二阶段我们改用阿里云的redis, master-slave 方式, 运行到现在,未曾出现过问题,4G的redis。
第一阶段我们使用了redis cluster集群,但线上运行半年发现,redis cluster并不稳定,莫名其妙的会挂掉,而且故障转移配置较为麻烦,需要较高的运维水平,于是我们放弃了redis cluster; 第二阶段我们改用阿里云的redis, master-slave 方式, 运行到现在,未曾出现过问题,4G的redis。
了解了!十分感谢您耐心的解答!Good!
我把spring session切换成了jdbc模式,就ok了
我把spring session切换成了jdbc模式,就ok了
高并发系统可不敢这么搞哦
我把spring session切换成了jdbc模式,就ok了
高并发系统可不敢这么搞哦
没办法,退而求其次,先上了再优化
参照作者给的例子,springboot 项目 接入 jodis,项目启用了spring session,启动的时候报错:
大概意思是 不支持 config命令, 请问作者 有什么好的解决方案没有