首页 > 数据库 >为商户添加redis缓存

为商户添加redis缓存

时间:2022-11-27 10:24:42浏览次数:32  
标签:shop 缓存 商户 redis Result 查询数据库 id

缓存模型和思路

标准的操作方式就是查询数据库之前先查询缓存,如果缓存数据存在,则直接从缓存中返回,如果缓存数据不存在,再查询数据库,然后将数据存入redis。

 

 代码如下:

 public Result queryById(Long id) {
        //从redis中查询商铺
        String shopStr = stringRedisTemplate.opsForValue().get(CACHE_SHOP_KEY + id);
        //判断是否命中
        if (StrUtil.isBlank(shopStr) ) {
            Shop  shop = JSONUtil.toBean(shopStr, Shop.class);
            return Result.ok(shop);
        }
        //未命中查询数据库
        Shop  shop = getById(id);
        if (shop==null) {

            return Result.fail("店铺不存在!");
        }
        //将查询到的shop存入Redis, 将shop转化为json
        stringRedisTemplate.opsForValue().set(CACHE_SHOP_KEY+id,JSONUtil.toJsonStr(shop));

        return Result.ok(shop);
    }

 

标签:shop,缓存,商户,redis,Result,查询数据库,id
From: https://www.cnblogs.com/kisshappyboy/p/16929077.html

相关文章

  • 什么是缓存
    1.浏览器层缓存缓存一些静态页面等2.应用缓存将部分数据存入map,来访问时直接将map里的数据返给你。3.  缓存(Cache),就是数据交换的缓冲区,俗称的缓存就是缓冲区......
  • Redis学习(一)之 持久化、主从与哨兵架构
    jiaruredis持久化RDB快照:在默认情况下,Redis将内存数据库快照保存在名字为dump.rdb的二进制文件中。你可以对Redis进行设置,让它在“N秒内数据集至少有M个改动”......
  • Redis学习(八)之redis中的数据类型之bitmaps类型
      1、集合的每个成员相当于整数的0-N。 2、每个bit就是一个权限,类似文件系统。这两句让我一脸懵。。。。其实就是用bit位来存储0和1,可以用来存储布尔型的数据,一个b......
  • spring三级缓存
    IOC容器中的bean是单例的bean生命周期 什么是循环依赖    什么是成品对象和半成品对象   解决循环依赖方式  spring中使用三个map来表示三级缓......
  • redis对key和数据库的基本操作
    redis基本数据结构操作:0.基本的常用key操作和数据库操作:keys*查看当前库所有key(匹配:keys*1)127.0.0.1:6379>setusernameqiugeOK127.0.0.1:6379>setage18O......
  • 05-1-海量数据如何提供毫秒级查询(1) 扩容 redis集群 没用
                   ......
  • Node工程使用云服务器中的redis镜像做数据库
     Redis镜像安装在云服务器中执行指令dockerpullredis添加redis镜像实例的配置[root@VM-0-11-centos~]#cd/home[root@VM-0-11-centoshome]#lsmongote......
  • HTTP缓存
    浏览器、缓存服务器、源服务器   浏览器:资源请求直接发起方。   源服务器:资源实际提供方。   缓存服务器:在浏览器、源服务器之间架设的中间服务器,由它代替浏览......
  • redis 开发规范与性能优化
    键值设置key名设置(1)【建议】:可读性和可管理性以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:idtrade:order:1(2)【建议】:简洁性保证语言的前......
  • redis缓存击穿、缓存穿透、缓存雪崩
    redis缓存穿透、缓存击穿、缓存雪崩​ 在我们日常的开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问......