返回顶部
首页 > 资讯 > 精选 >怎么在javaWeb项目中使用Redis进行缓存
  • 322
分享到

怎么在javaWeb项目中使用Redis进行缓存

2023-05-30 17:05:59 322人浏览 独家记忆
摘要

怎么在javaweb项目中使用Redis进行缓存?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一:serviceImpl定义:@Service  &nb

怎么在javaweb项目中使用Redis进行缓存?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

一:serviceImpl定义:

@Service   public class JedisClientSingleService implements JedisClient {@Autowired     private JedisPool jedisPool;@Override     public String get(String key) {Jedis jedis = jedisPool.getResource();String string = jedis.get(key);jedis.close();return string;}@Override     public String set(String key, String value) {Jedis jedis = jedisPool.getResource();String string = jedis.set(key, value);jedis.close();return string;}@Override     public String hget(String hkey, String key) {Jedis jedis = jedisPool.getResource();String string = jedis.hget(hkey, key);jedis.close();return string;}@Override     public long hset(String hkey, String key, String value) {Jedis jedis = jedisPool.getResource();long result = jedis.hset(hkey, key, value);jedis.close();return result;}@Override     public long incr(String key) {Jedis jedis = jedisPool.getResource();long result = jedis.incr(key);jedis.close();return result;}@Override     public long expire(String key, int second) {Jedis jedis = jedisPool.getResource();long result = jedis.expire(key, second);jedis.close();return result;}@Override     public long ttl(String key) {Jedis jedis = jedisPool.getResource();long result = jedis.ttl(key);jedis.close();return result;}@Override     public long del(String key) {Jedis jedis = jedisPool.getResource();long result = jedis.del(key);jedis.close();return result;}@Override     public long hdel(String hkey, String key) {Jedis jedis = jedisPool.getResource();long result = jedis.hdel(hkey, key);jedis.close();return result;}

二:添加缓存出(一般写在service是层中):

public List<RoleResource> getTreeGrid() {     //从缓存中获取内容     try {       String cachString = jedisClientSingleService.hget(ALL_RESOURCES_NO_CONDITioN, hashId);       if(!StringUtils.isBlank(cachString)){         List<RoleResource> list = JSONUtils.jsonStrToList(cachString, RoleResource.class) ;         return list ;       }     } catch (Exception e) {       e.printStackTrace();     }          List<RoleResource> list =sessionFactory.openSession().selectList("cn.sys.auth.entity.ResourcesMapper.getTreeGrid");     //将缓存中添加缓存     try {       //redsi只存字符串,把list转换换成字符串       String cachString =JsonUtils.toJson(list) ;       jedisClientSingleService.hset(ALL_RESOURCES_NO_CONDITION, hashId, cachString) ;     } catch (Exception e) {       e.printStackTrace();     }     return list;   }

逻辑:先从缓存中取数据,如果缓存中没有,就去数据库中取,然后把数据存入缓存,下次查询时就会从缓存中取。

三:缓存的同步

问题来了,入过你修改或者删除了数据,下次取的时候,因为缓存中有数据便在缓存中取,这是数据库的数据与缓存中的数据不一致,便出现差异,这就要缓存同步了。

其实很简单,就是在修改,删除(如果添加也需要的话),执行下面操作:

删除缓存,处理数据,把数据放如缓存

删除缓存,处理数据(等查询数据的时候会把数据放入缓存,两种情况只是写缓存时间的区别)

try {       jedisClientSingleService.hdel(ALL_RESOURCES_NO_CONDITION, hashId);     } catch (Exception e) {       e.printStackTrace();     }

关于怎么在javaWEB项目中使用Redis进行缓存问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网精选频道了解更多相关知识。

--结束END--

本文标题: 怎么在javaWeb项目中使用Redis进行缓存

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

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

猜你喜欢
  • 怎么在javaWeb项目中使用Redis进行缓存
    怎么在javaWeb项目中使用Redis进行缓存?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一:serviceImpl定义:@Service  &nb...
    99+
    2023-05-30
  • redis怎么在项目中做缓存层
    在项目中使用Redis作为缓存层的步骤如下:1. 引入Redis依赖:在项目的pom.xml(如果使用Maven)中添加Redis的...
    99+
    2023-09-04
    redis
  • 浅谈redis缓存在项目中的使用
    背景 Redis 是一个开源的内存数据结构存储系统。 可以作为数据库、缓存和消息中间件使用。 支持多种类型的数据结构。 Redis 内置了 复制(replication),LUA脚...
    99+
    2024-04-02
  • 怎么在ssm项目中使用redis缓存查询数据
    怎么在ssm项目中使用redis缓存查询数据?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。xml配置:<bean id=&qu...
    99+
    2024-04-02
  • 利用Redis进行数据缓存的项目实践
    目录1. 引言2. 将信息添加到缓存的业务流程3. 实现代码3.1 代码实现(信息添加到缓存中)3.2 缓存更新策略3.3 实现主动更新4. 缓存穿透4.1 解决缓存穿透(使用空对象...
    99+
    2024-04-02
  • 在项目中使用redis做缓存的一些思路
    目录在项目中redis做缓存的一些思路首先,缓存的对象有三种本人走过的一些弯路为什么没用Redis做缓存使用Table作本地缓存使用Redis作缓存让我们来思考一下下面几个问题那么使...
    99+
    2024-04-02
  • 怎么在html5中使用offlline进行缓存
    本篇文章为大家展示了怎么在html5中使用offlline进行缓存,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。拿tomcat为例,在打开Tomcat 6.0\conf\web.xml文件,在文件的...
    99+
    2023-06-09
  • SpringBoot项目中怎么使用缓存Cache
    本文小编为大家详细介绍“SpringBoot项目中怎么使用缓存Cache”,内容详细,步骤清晰,细节处理妥当,希望这篇“SpringBoot项目中怎么使用缓存Cache”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧...
    99+
    2023-07-06
  • 如何在java项目中操作Redis缓存
    这篇文章给大家介绍如何在java项目中操作Redis缓存,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1.导入必须的Jar包使用Java操作Redis需要两个必须的Jar包:jedis-2.5.1.jar 和 ...
    99+
    2023-05-31
    java redis
  • Redis通过在Spring Boot项目中使用实现集中式缓存
    这篇文章将为大家详细讲解有关Redis通过在Spring Boot项目中使用实现集中式缓存,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 利用Spring Initializr来新建一个sp...
    99+
    2023-05-31
    springboot 集中 redis
  • Spring项目中使用Cache Redis实现数据缓存
    目录Spring项目中实现数据缓存一、Spring Cache + Redis 介绍二、项目中集成1. 引入依赖2. 添加 redis 配置类3. 配置文件增加 redis 配置4....
    99+
    2024-04-02
  • SpringBoot项目中使用redis缓存的方法步骤
    本文介绍了SpringBoot项目中使用redis缓存的方法步骤,分享给大家,具体如下:Spring Data Redis为我们封装了Redis客户端的各种操作,简化使用。 - 当Redis当做数据库或者消息队列来操作时,我们一般使用Red...
    99+
    2023-05-30
    spring boot redis
  • 怎么为Java项目添加Redis缓存
    怎么为Java项目添加Redis缓存?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Linux首先在linux下安装docker,在docker环境下安装redis5.0的镜...
    99+
    2023-06-15
  • Python怎么使用LRU缓存策略进行缓存
    本文小编为大家详细介绍“Python怎么使用LRU缓存策略进行缓存”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么使用LRU缓存策略进行缓存”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、Pyt...
    99+
    2023-07-06
  • 怎么在viewPager项目中利用fragment刷新缓存
    今天就跟大家聊聊有关怎么在viewPager项目中利用fragment刷新缓存,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体方法如下:setOnPageChangeListene...
    99+
    2023-05-31
    viewpager fragment age
  • Django使用Redis进行缓存详细步骤
    目录1.背景和意义2.配置步骤如下1,服务器端安装 Redis2,Redis 访问控制3,安装django-redis和settings配置4,测试缓存是否成功1.背景和意义 服务器数据非经常更新。若每次都从硬盘读取一次...
    99+
    2024-04-02
  • JavaWeb项目怎么利用IntelliJ IDEA 15与Maven进行创建
    这篇文章给大家介绍JavaWeb项目怎么利用IntelliJ IDEA 15与Maven进行创建,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1. Maven简介相对于传统的项目,Maven 下管理和构建的项目真的非常...
    99+
    2023-05-31
    idea maven javaweb
  • 使用SpringBoot怎么对Redis进行集成来实现缓存
    本篇文章给大家分享的是有关使用SpringBoot怎么对Redis进行集成来实现缓存,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Redis简介Redis 是一个开源(BSD许...
    99+
    2023-05-31
    springboot redis
  • Ehcache缓存框架如何在Java项目中使用
    今天就跟大家聊聊有关Ehcache缓存框架如何在Java项目中使用 ,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言JAVA缓存实现方案有很多,最基本的自己使用Map去构建缓存,或...
    99+
    2023-05-31
    java ehcache ava
  • IDEA 怎么导入别人的javaweb项目进行部署
    今天小编给大家分享一下IDEA 怎么导入别人的javaweb项目进行部署的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作