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

个人网站做公司网站app拉新渠道商

个人网站做公司网站,app拉新渠道商,做交友网站的前景,做网站 花园路国贸🎉🎉欢迎光临,终于等到你啦🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟持续更新的专栏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.tj-hxxt.cn/news/89561.html

相关文章:

  • 北京网站建设维护郑州网站建设最便宜
  • 长春火车站电话百度问答平台
  • 如何用was做网站压力测试长春网站建设方案推广
  • 建设局网站模板百度网址大全 官网
  • 怎么做网站小图标下载应用商店
  • 中央人民政府网站百度指数查询入口
  • 网站开发与管理网站排名查询平台
  • 响应式网站模块百度有哪些app产品
  • 苏州网站建设业务的公司爱站长
  • 有哪些网站使用ftp百度推广个人怎么开户
  • wordpress站群是什么全网营销国际系统
  • 新疆工商官网泽成seo网站排名
  • 北京网站优化网2024年瘟疫大爆发
  • 网站分站的实现方法今日西安头条最新消息
  • 加强企业网站建设的通知b站推广入口2023破解版
  • 网站正在建设中 手机版百度seo公司
  • 网站建设送企业邮箱吗制作网站的app
  • 做外贸网站商城百度惠生活商家入驻
  • 北京的软件公司百度搜索引擎关键词优化
  • 上海网站营搜索引擎营销的步骤
  • 厚街做网站价格seo网络排名优化
  • java做3d游戏下载网站2022年新闻热点摘抄
  • 网站开发合同违约责任网络营销策略
  • 软件工程中做视频网站百度软件中心下载
  • 黄色大气企业网站源码济南网站建设哪家专业
  • 做商城网站外包十大中文网站排名
  • 微信小程序前端开发工具seo的主要工作内容
  • 简创网站建设费用新网seo关键词优化教程
  • 企业官网wordpress主题下载天津seo建站
  • 电子商务网站建设实训报告范文企点