当前位置: 首页 > news >正文

网站标签是什么网站建设佰首选金手指四

网站标签是什么,网站建设佰首选金手指四,西宁是哪个省的城市,外贸怎么做网站外链🎉🎉欢迎光临,终于等到你啦🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟持续更新的专栏Redis实战与进阶 本专栏讲解Redis从原理到实践 …

963034f17590412b808770f619144970.png

🎉🎉欢迎光临,终于等到你啦🎉🎉

🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀

🌟持续更新的专栏Redis实战与进阶

本专栏讲解Redis从原理到实践

这是苏泽的个人主页可以看到我其他的内容哦👇👇

努力的苏泽http://suzee.blog.csdn.net/

 


缓存如何实现?面试必考题  请看 我的讲解以及最佳实践吧

目录

缓存如何实现?面试必考题  请看 我的讲解以及最佳实践吧

关于 Redis 缓存的解释如下:

实现思路图

商户缓存跟着视频做的,然后我按照同样的方法逻辑 把商店类型的缓存自己做了一遍

首先注册一个IShopTypeService服务的对象typeService 然后直接调用typeService的方法queryTypeList()

 

下一节我们来讲解 Redis缓存击穿 缓存雪崩等缓存更新会发生的问题  都是Redis的面试必考题


 

关于 Redis 缓存的解释如下:

  1. Redis 如何实现缓存?
    在后端接收到请求后,对于需要进行缓存的接口,首先会在 Redis 中查找是否有对应的数据。如果缓存中不存在数据,系统会继续按照正常的业务流程处理请求,并将查询到的结果返回给客户端的同时也存储在 Redis 中。下次相同的请求到达时,系统可以直接从 Redis 中获取数据,而无需访问数据库。

在启用缓存后,相同的请求在缓存有效期内不会再去读取数据库。但是,如果在此期间修改了数据库中的数据,接口返回的数据就无法保证与数据库一致。因此,在进行增、删、改操作时,需要刷新缓存。

  1. Redis 缓存更新策略是什么?
    缓存更新可以采用不同的策略,以下是两种常见情况的比较:

第一种情况是先更新数据库,然后同步更新缓存,或者先更新缓存,然后同步更新数据库。这两种方式都属于写穿透(write through)策略。同步更新的好处是可以保持数据的一致性,但缺点是同步更新会对性能产生影响。

第二种情况是先更新缓存,然后异步写回数据库,也被称为写回(write back)策略。异步写回的优点是不会影响缓存的高性能,能够快速响应客户端请求。但缺点是在数据异步写回数据库之前,缓存与数据库的数据可能短暂不一致。

79f917f097604d2187a0232970ee5e97.png

实现思路图

aaa8abb1c5ee4daa90056f83b79058b0.png

 

商户缓存跟着视频做的,然后我按照同样的方法逻辑 把商店类型的缓存自己做了一遍

以下是步骤

首先注册一个IShopTypeService服务的对象typeService 然后直接调用typeService的方法queryTypeList()

@RestController
@RequestMapping("/shop-type")
public class ShopTypeController {@Resourceprivate IShopTypeService typeService;@GetMapping("list")public Result queryTypeList() {
//        List<ShopType> typeList = typeService.query().orderByAsc("sort").list();return typeService.queryTypeList();}
}

在IShopTypeService接口中我们定义这个抽象方法 然后在IShopTypeService的实现类IShopTypeServiceImp中实现这个方法

public interface IShopTypeService extends IService<ShopType> {Result queryTypeList();
}
@Service
public class ShopTypeServiceImpl extends ServiceImpl<ShopTypeMapper, ShopType> implements IShopTypeService {@Resourceprivate StringRedisTemplate stringRedisTemplate;@Resource//引入mybatis的接口 用于查数据库private IShopTypeService shopTypeService;@Overridepublic Result queryTypeList() {//1.从redis中查询有无String shopTypeJson = stringRedisTemplate.opsForValue().get("shopType");//2.判断是否存在if (StrUtil.isNotBlank(shopTypeJson)){//3.存在直接返回 JSONUtil.parseArray将JSON 数组字符串转换为 Java 对象列表List<ShopType> shopType= BeanUtil.copyToList(JSONUtil.parseArray(shopTypeJson), ShopType.class);
//            System.err.println(shopType);return Result.ok(shopType);}//不存在 查询数据库List<ShopType> shopTypeList = shopTypeService.query().orderByAsc("sort").list();//数据库不存在 返回报错if (shopTypeList ==null) {return Result.fail("查询失败");}//数据库存在 写入redis  返回//将list转换成json 要用toJsonStr不能toStringString str = JSONUtil.toJsonStr(shopTypeList);stringRedisTemplate.opsForValue().set("shopType",str);
//        System.err.println(str);return Result.ok(shopTypeList);}
}
  • 首先,从 Redis 中查询数据是否存在。
  • 如果数据存在,将 JSON 数组字符串转换为 List<ShopType> 对象,并直接返回结果。
  • 如果数据不存在于 Redis 中,则从数据库查询商店类型列表。
  • 如果数据库查询失败,返回查询失败的错误信息。
  • 如果数据库查询成功,将查询结果转换为 JSON 字符串,并存储到 Redis 中。
  • 最后,返回查询结果。

 

下一节我们来讲解 Redis缓存击穿 缓存雪崩等缓存更新会发生的问题  都是Redis的面试必考题

 

 

 

http://www.yayakq.cn/news/43710/

相关文章:

  • dede中英文网站云主机怎么建网站
  • 建设部网站中淼工程有限公司网站建设中 目录怎么做更好
  • 无极网站免费观看网站排名优化推广厦门
  • 网站制作 符合百度两个域名同一个网站做优化
  • 校园网站建设的意义wordpress文件夹里图片无法获取
  • 优化网站入口页面的四个维度泰安市人才交流服务中心
  • 网站建设公司公司介绍除了速卖通还有什么网站做外贸
  • 那个公司可以做网站金光华网站建设
  • 网站建设常用的方法孟村住房建设局网站
  • 门户网站开发投标文件湖南企业建网站公司
  • 漳州微网站建设哪家好网站最好服务器
  • asp网站安装到空间如何上传文件到自己的网站
  • 城乡建设部网官方网站工程建设是干什么的
  • 本地数据库搭建网站网站建设从零开始教程
  • 建手机网站要多少钱带商城的wordpress
  • 响应式网站的好处关键词优化诊断
  • 网站建设时间及简介东莞城建局官网
  • 开设赌场罪建设网站东营小程序开发制作
  • 网站主题服务网站制作的步骤
  • 网站建设制作公司都选万维科技企业网站 php 免费
  • 手机网站源码怎么打开网站产品详情页怎么做的
  • 最超值的手机网站建设网站做很久了百度没收录
  • 做擦边球网站网络推广网站 优帮云
  • 美好乡村建设网站做公司网站的费用计入什么科目
  • 网站建站定做页面设计教案
  • 凡客衬衫官方网站织梦手机网站源码下载
  • 网站开发项目可行性分析苏州网站建设系统价格合理
  • 网站开发需要用什么小米发布会时间2022
  • 余姚做网站的公司陈铭生怎么死的
  • 网站开发主要参考文献网站运营之怎样做好seo优化