采用的是Spring自带的缓存管理,使用Redis做缓存,在Spring中配置如下

@Configuration

@EnableCaching

public class CachingConfig {

@Bean

public CacheManager cacheManager(RedisTemplate redisTemplate) {

return new RedisCacheManager(redisTemplate);

}

@Bean

public JedisConnectionFactory jedisConnectionFactory() {

JedisConnectionFactory jedisConnectionFactory = new JedisConnectionFactory();

jedisConnectionFactory.afterPropertiesSet();

return jedisConnectionFactory;

}

@Bean

public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) {

RedisTemplate redisTemplate = new RedisTemplate<>();

redisTemplate.setConnectionFactory(redisConnectionFactory);

redisTemplate.afterPropertiesSet();

return redisTemplate;

}

}

在DAO实现中使用缓存的代码如下

@Cacheable(value = "userCache", key = "'id_'+#id")

public User selectUser(String id) {

return getMapper().selectUser(id);

}

这里使用的是单个Redis,在Redis正常工作时没有问题,但是如果这时候Redis挂掉了,访问时就会抛出获取与Redis之间connection异常(这也正常,Redis都挂掉了)。

跟了一下代码,发现此时Spring的处理逻辑是这样的:

配置有缓存-->先去Redis找-->连接不上-->抛出错误

但是我理解和问题的是:

缓存如果挂掉了,请求应该就直接去数据库取,否则缓存一挂岂不是整个系统都不可用了?

Spring中是否有什么配置使缓存能否做到可插拔?

实际中会直接使用这种方案吗?还是使用Redis集群方案(抱歉这个还没研究)?

实际项目中自己实现缓存管理方案?还是其他的好的解决方案?

谢谢!

如果redis哨兵宕机了怎么办_Spring集成Redis做缓存,Redis宕机时Spring处理的问题相关推荐

  1. redis哨兵主从不切换_《「面试突击」—Redis篇》-- Redis的主从复制?哨兵机制?...

    Redis如何保证高并发,高可用? 高并发:redis的单机吞吐量可以达到几万不是问题,如果想提高redis的读写能力,可以用redis的主从架构,redis天热支持一主多从的准备模式,单主负责写请求 ...

  2. linux 宕机 内存,Linux内存使用高,触发系统宕机

    网上的解决方案:用ps查看各进程的内存,大约就占用了4G, 绝大部分内存都是被Page Cache所占用.Linux内核的策略是最大程度的利用内存cache 文件系统的数据,提高IO速度,虽然在机制上 ...

  3. 微博服务器为什么会宕机?这几年为什么极少再宕机了?

    大家有没有发现一个事情,相比六七年前微博动辄因为各路明星的新闻忽告宕机,比如最出名的微博"三大战役":李晨发范冰冰分手.王宝强离婚,鹿晗公布恋情,近几年微博宕机的次数已经越来越少了 ...

  4. 缓存设计方案 你了解吗 SpringBoot 快速集成实现一级缓存Redis和二级缓存Caffeine 可自定义扩展

    项目背景: 在系统初期为了实现业务的快速增长.对系统没有很好的设计.后期想实现缓存,提升应用系统的性能. 面临问题: 缓存配置混乱.系统微服务化基本上需要实现缓存.序列化方式不统一 研发效率低下.每次 ...

  5. Redis 日志篇:无畏宕机实现高可用的杀手锏

    " 特立独行是对的,融入圈子也是对的,重点是要想清楚自己向往怎样的生活,为此愿意付出怎样的代价. " 我们通常将 Redis 作为缓存使用,提高读取响应性能,一旦 Redis 宕机 ...

  6. Redis 日志篇:无畏宕机快速恢复的杀手锏

    " 特立独行是对的,融入圈子也是对的,重点是要想清楚自己向往怎样的生活,为此愿意付出怎样的代价. " 我们通常将 Redis 作为缓存使用,提高读取响应性能,一旦 Redis 宕机 ...

  7. Redis 无畏宕机快速恢复的杀手锏

    " 特立独行是对的,融入圈子也是对的,重点是要想清楚自己向往怎样的生活,为此愿意付出怎样的代价. " 我们通常将 Redis 作为缓存使用,提高读取响应性能,一旦 Redis 宕机 ...

  8. Redis的KEYS命令引起RDS数据库雪崩,RDS发生两次宕机,造成几百万的资金损失

    文章目录 第一次宕机 事故影响 原因分析 改进方案 第二次宕机 原因分析 改进方案 总结 Redis开发建议 1.冷热数据分离,不要将所有数据全部都放到Redis中 2.不同的业务数据要分开存储 3. ...

  9. Redis 主节点宕机原因及解决方法

    Redis 是一个基于内存的高性能键值存储系统,常用于缓存.消息队列等场景.Redis 支持主从复制,在主从复制中,主节点负责写入数据,从节点则负责读取数据.但是,Redis 主节点有可能会出现宕机的 ...

最新文章

  1. R语言基础知识详解及概括
  2. centos 7 安装nfs 服务
  3. mongodb集群——配置服务器放分片meta信息,说明meta里包含了哪些数据信息
  4. 中国python之父是谁-Python之父:谈Python
  5. JavaScript面向对象-静态方法-私有方法-公有方法-特权方法,学习
  6. jira java接口生成问题
  7. 5.1.2 SELECT+INNER JOIN读取数据
  8. Java——枚举:优雅而干净的enum
  9. 【英语学习】【Level 07】U04 Rest and Relaxation L1 Waiting to board a train
  10. webService发布和调用--Axis2
  11. MySoft.Data入门篇:编写业务逻辑
  12. Windows 下载安装 Seata
  13. react 调用微信jsdk扫一扫
  14. 电磁学基本知识与基本定律复习
  15. 你应该看得懂的RecyclerView嵌套
  16. Pandas基础教程
  17. 手把手教你做音乐播放器(四)播放服务的搭建
  18. 『phphot』【SD2.0大会】刘振飞:微软Office研发成功三大法宝
  19. python pandas 分类汇总_pandas去重复行并分类汇总的实现方法
  20. USB接口Altium designer原理图PCB封装

热门文章

  1. python中的any与all函数的区别
  2. Python -itertools模块combinations方法
  3. 计算机xp怎么做备份,怎样备份xp系统电脑上的所有数据?在xp系统中备份所有文件的方法...
  4. fwrite视频写入帧率测试(不用测了。。)
  5. 网页同步交互和异步交互的区别?
  6. 如何查看Intel Realsense D435 状态log文件
  7. win10如何将已有python环境变量添加到电脑中 错误 Fatal error in launcher: Unable to create process using pip.exe 解决办法
  8. win10下安装tensorflow-gpu==1.11.0的详细教程
  9. 使用 Bamboo 构建项目的 CICD 过程文档
  10. Elections 思维