广告
返回顶部
首页 > 资讯 > 精选 >如何开发redis的二级缓存
  • 669
分享到

如何开发redis的二级缓存

2024-04-02 19:04:59 669人浏览 泡泡鱼
摘要

开发Redis二级缓存的示例:redis二级缓存的实现,主要是重写了Cache.java的方法,代码:public class  implements Cache {  

如何开发redis的二级缓存

开发Redis二级缓存的示例:

redis二级缓存的实现,主要是重写了Cache.java的方法,代码:

public class  implements Cache {

    private static final Logger logger = LoggerFactory.getLogger(mybatisRedisCache.class);

    private final ReadWriteLock readWriteLock = new ReentrantReadWriteLock();

    private RedisTemplate redisTemplate;

    private String id;

    

    private static final long EXPIRE_TIME_IN_MINUTES = 30;

    public (String id){

        if (id==null){

            throw new IllegalArgumentException("Cache instances require an ID");

        }

        logger.info("=====================================Redis cache id = "+id);

        this.id = id;

    }

    

    public String getId() {

        return id;

    }

    

    public void putObject(Object key, Object value) {

        logger.debug("==============================redis put= "+key);

        RedisTemplate redisTemplate = getRedisTemplate();

        ValueOperations opsForValue = redisTemplate.opsForValue();

        opsForValue.set(key, value, EXPIRE_TIME_IN_MINUTES, TimeUnit.MINUTES);

    }

    

    public Object getObject(Object key) {

        logger.debug("================================redis get================================");

        RedisTemplate redisTemplate = getRedisTemplate();

        ValueOperations opsForValue = redisTemplate.opsForValue();

        return opsForValue.get(key);

    }

    

    public Object removeObject(Object key) {

        logger.debug("==========================================redis remove==========================");

        RedisTemplate redisTemplate = getRedisTemplate();

        redisTemplate.delete(key);

        return null;

    }

    

    public void clear() {

        logger.debug("=====================================clear redis================================");

        RedisTemplate redisTemplate = getRedisTemplate();

        redisTemplate.execute(new RedisCallback() {

            @Override

            public Object doInRedis(RedisConnection connection) throws DataAccessException {

 大专栏  redis实现二级缓存

                connection.flushDb();

                return "OK";

            }

        });

    }

    @Override

    public int getSize() {

        return 0;

    }

    @Override

    public ReadWriteLock getReadWriteLock() {

        return readWriteLock;

    }

    public RedisTemplate getRedisTemplate() {

        if (redisTemplate == null) {

            redisTemplate = ApplicationContextHolder.getBean("redisTemplate");

        }

        return redisTemplate;

    }

    public void setRedisTemplate(RedisTemplate redisTemplate) {

        this.redisTemplate = redisTemplate;

    }

}

使用redisTemplate方法实现一个ApplicationContextHolder工具类,代码:

@Component

public class ApplicationContextHolder implements ApplicationContextAware {

    private static ApplicationContext applicationContext;

    @Override

    public void setApplicationContext(ApplicationContext ctx) throws BeansException {

        applicationContext = ctx;

    }

    

    public static ApplicationContext getApplicationContext() {

        return applicationContext;

    }

    

    public static <T> T getBean(Class<T> clazz) {

        return applicationContext.getBean(clazz);

    }

    

    @SuppressWarnings("unchecked")

    public static <T> T getBean(String name) {

        return (T) applicationContext.getBean(name);

    }

}

在mapper中添加自定义cache,使用二级缓存,例如:

<cache type="com.yif.utils.MybatisRedisCache" eviction="LRU"/>

--结束END--

本文标题: 如何开发redis的二级缓存

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

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

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

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

下载Word文档
猜你喜欢
  • 如何开发redis的二级缓存
    开发redis二级缓存的示例:redis二级缓存的实现,主要是重写了Cache.java的方法,代码:public class  implements Cache {  ...
    99+
    2022-10-21
  • mybatis二级缓存如何开启
    MyBatis的二级缓存默认是关闭的,如果需要开启二级缓存,可以按照以下步骤进行操作:1. 在MyBatis的配置文件中,添加以下配...
    99+
    2023-08-24
    mybatis
  • springboot如何开启二级缓存
    Spring Boot并不直接支持二级缓存的功能,但可以通过集成其他框架来实现。一种常见的做法是使用Spring Data JPA结...
    99+
    2023-08-24
    springboot
  • 如何利用Redis作为Mybatis的二级缓存
    目录前言要优雅就选择MyBATis-PlusRedis配置自定义Mybatis缓存测试缓存命中率(Cache Hit Ratio)一级缓存和二级缓存什么时候该开启二级缓存前言 今天在开发时发现一个奇怪的问题,我手动改完数...
    99+
    2022-08-11
    利用Redis作为Mybatis二级缓存 RedisMybatis二级缓存
  • 基于Spring Cache如何实现Caffeine+Redis二级缓存
    这篇文章主要为大家展示了“基于Spring Cache如何实现Caffeine+Redis二级缓存”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“基于Spring Cache如...
    99+
    2023-06-29
  • SpringBoot+Mybatis项目中如何使用Redis做Mybatis的二级缓存
    这篇文章给大家分享的是有关SpringBoot+Mybatis项目中如何使用Redis做Mybatis的二级缓存的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。介绍使用mybatis时可以使用二级缓存提高查询速度,...
    99+
    2023-05-30
    springboot redis mybatis
  • 使用MyBatis如何实现一级缓存与二级缓存
    这期内容当中小编将会给大家带来有关使用MyBatis如何实现一级缓存与二级缓存,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。MyBatis缓存我们知道,频繁的数据库操作是非常耗费性能的(主要是因为对于DB...
    99+
    2023-05-31
    mybatis 一级缓存 二级缓存
  • 如何配置Hibernate二级缓存
    小编给大家分享一下如何配置Hibernate二级缓存,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Hibernate有很多值得学习的地方,这里我们主要介绍配置Hi...
    99+
    2023-06-17
  • redis如何实现多级缓存
                                 ...
    99+
    2022-10-18
  • MySQL与Redis实现二级缓存的方法是什么
    这篇文章将为大家详细讲解有关MySQL与Redis实现二级缓存的方法是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。redis简介Redis 是完全开源免费的,遵守B...
    99+
    2022-10-18
  • 如何使用Hibernate 3二级缓存
    这篇文章将为大家详细讲解有关如何使用Hibernate 3二级缓存,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.Hibernate3的二级缓存和session级别的缓存一样都只对实体对象做缓存,不对属...
    99+
    2023-06-17
  • Mybatis 动态sql的编写|开启二级缓存
    ❤️作者主页:微凉秋意 ✅作者简介:后端领域优质创作者🏆,CSDN内容合伙人🏆,阿里云专家博主🏆 ✨精品专栏:数据结构与课程设计 🔥...
    99+
    2023-09-22
    mybatis sql java 数据库
  • Go应该如何实现二级缓存
    目录一、需求二、实现连接Mysql并执行查询语句三、写一个错误处理函数四、设置二级缓存一、需求 实现二级缓存 程序运行起来后提示:“请输入命令:”,如果输入geta...
    99+
    2022-11-12
  • 如何使用redis开启缓存
    要使用Redis开启缓存,首先需要安装Redis并配置好相关参数。以下是一些基本步骤:1. 安装Redis:根据你的操作系统,选择合...
    99+
    2023-08-23
    redis
  • 如何利用Redis和Scala开发缓存预热功能
    如何利用Redis和Scala开发缓存预热功能缓存预热是一种常用的优化策略,通过预先将热点数据加载到缓存中,可以减少用户请求时的延迟。在开发过程中,利用Redis和Scala实现缓存预热功能是一种常见的方式。本文将介绍如何使用这两种技术来开...
    99+
    2023-10-22
    redis scala 缓存预热
  • Springboot整合mybatis开启二级缓存的实现示例
    目录前言mybatis 一级缓存和二级缓存的概念pom引入依赖application.properties 文件配置mapper.xml 文件配置cache-ref完整示例代码踩坑参...
    99+
    2022-11-13
  • 如何使用Redis和Objective-C开发缓存预热功能
    如何使用Redis和Objective-C开发缓存预热功能在开发互联网应用时,为了提高性能和响应速度,我们通常会使用缓存来存储频繁访问的数据。而缓存预热是一种常见的优化策略,通过预先将热门数据加载到缓存中,可以避免用户第一次访问时的等待时间...
    99+
    2023-10-22
    redis 缓存预热 Objective-C
  • xp系统开启cpu二级缓存的方法有哪些
    这篇文章给大家介绍xp系统开启cpu二级缓存的方法有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。方法一:Windows优化大师打开二级缓存的操作步骤:启动Windows优化大师,选择“系统性能优化”;在“文件系统...
    99+
    2023-06-13
  • 使用Mybatis如何实现配置二级缓存
    这篇文章给大家介绍使用Mybatis如何实现配置二级缓存,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Mybatis的二级缓存配置相当容易,要开启二级缓存,只需要在你的Mapper 映射文件中添加一行:<...
    99+
    2023-05-31
    mybatis 二级缓存
  • 虚拟主机如何开启redis缓存
    要在虚拟主机上开启Redis缓存,需要按照以下步骤进行操作:1. 登录到虚拟主机的控制面板或使用SSH连接到虚拟主机。2. 确保Re...
    99+
    2023-09-04
    虚拟主机 redis
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作