iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Spring @Cacheable redis出现异常如何解决
  • 596
分享到

Spring @Cacheable redis出现异常如何解决

2023-06-06 10:06:58 596人浏览 薄情痞子
摘要

spring @Cacheable redis出现异常如何解决?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。原因分析我们是通过@EnableCaching进行缓

spring @Cacheable redis出现异常如何解决?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

原因分析

我们是通过@EnableCaching进行缓存启用的,因此可以先看@EnableCaching的相关注释

Spring @Cacheable redis出现异常如何解决

通过@EnableCaching的类注释可发现,spring cache的核心配置接口为:org.springframework.cache.annotation.CachinGConfigurer

public interface CachingConfigurer {  CacheManager cacheManager();  CacheResolver cacheResolver();  KeyGenerator keyGenerator();  CacheErrorHandler errorHandler();}

该接口errorHandler方法可配置异常的处理方式。通过该方法上的注释可以发现,默认的CacheErrorHandler实现类是org.springframework.cache.interceptor.SimpleCacheErrorHandler

public class SimpleCacheErrorHandler implements CacheErrorHandler { @Override public void handleCacheGetError(RuntimeException exception, Cache cache, Object key) { throw exception; } @Override public void handleCachePutError(RuntimeException exception, Cache cache, Object key, Object value) { throw exception; } @Override public void handleCacheEvictError(RuntimeException exception, Cache cache, Object key) { throw exception; } @Override public void handleCacheClearError(RuntimeException exception, Cache cache) { throw exception; }}

SimpleCacheErrorHandler类注释上说明的很清楚:对cache的异常不做任何处理,直接将该异常抛给客户端。因此默认的情况下,Redis服务器异常后,直接就阻断了正常业务

解决方案

通过上面的分析可知,我们可以通过自定义CacheErrorHandler来干预@Cacheable的异常处理逻辑。具体代码如下:

public class RedisConfig extends CachingConfigurerSupport {    @Override  public CacheErrorHandler errorHandler() {    return new CacheErrorHandler() {      @Override      public void handleCachePutError(RuntimeException exception, Cache cache,                      Object key, Object value) {        handleRedisErrorException(exception, key);      }      @Override      public void handleCacheGetError(RuntimeException exception, Cache cache,                      Object key) {        handleRedisErrorException(exception, key);      }      @Override      public void handleCacheEvictError(RuntimeException exception, Cache cache,                       Object key) {        handleRedisErrorException(exception, key);      }      @Override      public void handleCacheClearError(RuntimeException exception, Cache cache) {        handleRedisErrorException(exception, null);      }    };  }  protected void handleRedisErrorException(RuntimeException exception, Object key) {    log.error("redis异常:key=[{}]", key, exception);  }}

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网精选频道,感谢您对编程网的支持。

--结束END--

本文标题: Spring @Cacheable redis出现异常如何解决

本文链接: https://www.lsjlt.com/news/246355.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Spring @Cacheable redis出现异常如何解决
    Spring @Cacheable redis出现异常如何解决?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。原因分析我们是通过@EnableCaching进行缓...
    99+
    2023-06-06
  • 出现java.lang.NoSuchMethodException异常如何解决
    今天小编给大家分享一下出现java.lang.NoSuchMethodException异常如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面...
    99+
    2023-07-05
  • redis超载异常如何解决
    要解决Redis超载异常,可以考虑以下几个方面:1. 提高Redis的性能:可以通过增加Redis实例的数量、增加Redis的内存或...
    99+
    2023-08-30
    redis
  • spring拦截器抛出异常怎么解决
    当Spring拦截器抛出异常时,可以根据需要采取以下几种解决方案:1. 异常处理器:使用Spring的异常处理器来处理拦截器抛出的异...
    99+
    2023-08-18
    spring
  • python中出现FileNotFoundError异常如何解决
    本篇文章给大家分享的是有关python中出现FileNotFoundError异常如何解决,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。python的五大特点是什么python...
    99+
    2023-06-14
  • 如何及时知道redis出现异常
    redis异常排查的方法:redis-server redis.windows.conf示例:D:\redis-2.8.17>redis-server.exe redis.windows.conf[4692] 27 Nov 12:14:05...
    99+
    2022-10-14
  • Spring应用抛出NoUniqueBeanDefinitionException异常的解决方案
    目录前言 解决方案 前言 我们在开发Spring应用时可能会不小心注入两个相同类型的Bean,比如实现了两个相同Service接口的类,示例伪代码如下: interface&n...
    99+
    2022-11-12
  • java项目中出现异常如何解决
    本篇文章为大家展示了java项目中出现异常如何解决,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了面向对象...
    99+
    2023-06-14
  • Python中出现异常重试如何解决
    这篇文章给大家介绍Python中出现异常重试如何解决,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。原先的流程:def crawl_page(url):     ...
    99+
    2023-06-17
  • Spring Boot集成Druid出现异常报错的原因及解决
    目录Spring Boot集成Druid异常异常分析原理追踪禁用Ping Method为什么要清空空闲60秒以上的连接Spring Boot集成Druid异常 在Spring Bo...
    99+
    2022-11-12
  • java项目中Zipexception出现异常如何解决
    本篇文章为大家展示了java项目中Zipexception出现异常如何解决,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1 异常描述在从 SVN 检出项目并配置完成后,启动 Tomcat 服务器,报...
    99+
    2023-05-31
    zipexception java ava
  • docker 命令出现permission denied异常如何解决
    本篇文章为大家展示了docker 命令出现permission denied异常如何解决,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。异常解决方案一:使用管理员权限,命令前加sudo解决方案二:给当...
    99+
    2023-06-14
  • 在springboot中springmvc出现抛出全局异常如何解决
    在springboot中springmvc出现抛出全局异常如何解决?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。springboot中抛出异常,springbo...
    99+
    2023-05-31
    springboot springmvc 全局异常
  • Android ListView出现异常解决办法
    Android ListView 异常解决办法: ListView:The content of the adapter has changed but ListView di...
    99+
    2022-06-06
    异常 listview Android
  • 出现java.lang.NoSuchMethodException异常的解决(靠谱)
    目录java.lang.NoSuchMethodException异常解决有一个前提终于总结java.lang.NoSuchMethodException异常解决 首先,这个错误必然...
    99+
    2023-03-15
    java.lang.NoSuchMethodException java出现异常 java.lang.NoSuchMethodException异常
  • HttpClient 出现 failed to respond 异常解决
    今天碰到一个问题,httpclient 在使用线程池时,偶尔出现 NoHttpResponseException 异常。 httpclient org.apache.http.NoHttpResponseException: host...
    99+
    2023-09-03
    服务器 java servlet
  • 如何解决Redis缓存异常的问题
    这篇文章将为大家详细讲解有关如何解决Redis缓存异常的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。缓存雪崩缓存雪崩是指缓存同一时间大面积的失效,所以,后面的请求都...
    99+
    2022-10-19
  • MySQL出现Waiting for table metadata lock异常如何解决
    这篇文章主要介绍“MySQL出现Waiting for table metadata lock异常如何解决”,在日常操作中,相信很多人在MySQL出现Waiting for tab...
    99+
    2023-07-06
  • ASP.NET中App_Code文件夹出现异常如何解决
    本篇文章为大家展示了ASP.NET中App_Code文件夹出现异常如何解决,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。新建一个Web Site的操作如下:很简单。网站项目中除了该有的ASPX文件外...
    99+
    2023-06-17
  • 电脑出现未知软件异常如何解决
    本篇内容介绍了“电脑出现未知软件异常如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!解决方法一:卸载冲突软件打开控制面板,直接选择卸载...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作