外卖项目:用Redis实现缓存店铺营业状态、店铺菜品,优化商品浏览速度(debug一遍)

文章目录

  • 一、设置店铺营业状态
  • 二、缓存菜品
  • 三、缓存套餐
  • 四、执行速度

一、设置店铺营业状态

针对店铺的营业状态,只涉及到一个字段,就没有设计表结构了,所有直接用redis存储来实现该功能。

在这里插入图片描述
约定:1表示营业 0表示打烊

先来看原先redis数据库中的营业状态值:说明是营业中
在这里插入图片描述在controller层获取status后,将其redis中的数据进行修改,修改后的值为0
在这里插入图片描述
在这里插入图片描述确实是打烊了
在这里插入图片描述
用户端的查看店铺营业状态也是如此,代码如下:

在这里插入图片描述

二、缓存菜品

用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大。

实现思路

通过Redis来缓存菜品数据,减少数据库查询操作。

在这里插入图片描述
在这里插入图片描述

跟随debug来看一下具体的代码实现:

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
返回到controller层,发现拿到了菜品数据和对应菜品口味的数据。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
查看redis数据库,确实存储了该商品数据。
在这里插入图片描述让我们查看一下日志,发现在没有使用redis时,查询速度是两位数、三位数甚至是四位数,使用了redis后,达到了惊人的个位数!速度可谓是真的快!!!

在这里插入图片描述

三、缓存套餐

跟着debug一起看一下执行流程:

在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述
我们再回到业务层

在这里插入图片描述来看看redis数据库是否存储了数据:

在这里插入图片描述

四、执行速度

接下来我们删除redis数据库的数据,记录一下直接查询数据库与走redis数据库各自查询所耗费的时间。让我们查看一下日志,发现在没有使用redis时,查询速度是两位数;使用了redis后,同样也达到了惊人的个位数!速度可谓是真的快!!!数据量大的情况下更是明显。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/473047.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Redis】Redis常见原理和数据结构

Redis 什么是redis redis是一款基于内存的k-v数据结构的非关系型数据库,读写速度非常快,常用于缓存,消息队列、分布式锁等场景。 redis的数据类型 string:字符串 缓存对象,分布式ID,token,se…

手撕算法-二叉树的最大深度

描述:分析:求以节点root为根节点的树的最大深度。可以进行拆分:root为根节点的树的最大深度 max(左子树的最大深度, 右子树最大深度)1 截止条件是节点为空,深度为0; 代码: public int maxDep…

CAN总线协议:过载帧与帧间隔

一. 简介 通过 CAN 总线传输数据是需要按照一定协议进行的。CAN 协议提供了 5 种帧格式来传输数据:数据帧、遥控帧、错误帧、过载帧和帧间隔。 前面几篇文章学习了CAN协议的的三种数据传输格式: CAN总线协议:数据帧-CSDN博客 CAN总线协议…

相聚武汉氢能展_2024武汉国际氢能源及燃料电池产业博览会

相聚武汉氢能展_2024武汉国际氢能源及燃料电池产业博览会 2024武汉国际氢能源及燃料电池产业博览会 2024 Wuhan International Hydrogen Energy and Fuel Cell Industry Expo 同期举办:2024世界汽车制造技术暨智能装备博览会 时间:2024.8.14-16 地…

jmeter之常用函数-第六天

1.常见函数: _counter 计数器函数 TRUE(每个用户都有自己的计数器) FALSE(所有用户共用一个计数器) _Random 随机数函数 参数1:取值范围最小值(包含) 参数2:取值范围最大值(包含) _time 获取当前时间的函数 无参: 获取的是距离 1970/01/01 00:00:00 的毫秒值 参…

【计算机网络】计算机网络概述

文章目录 一、计算机网络的概念二、 计算机网络的功能1. 数据通信2. 资源共享3. 分布式处理4. 提高可靠性5. 负载均衡 补充: 计算机的发展阶段小结三、计算机网络的组成1. 组成部分2. 工作方式3. 功能组成 四、 计算机网络的分类1. 按分布范围2. 按使用者3. 按交换技…

代码随想录day24(2)二叉树:合并二叉树(leetcode617)

题目要求:将两个二叉树合并,要求是将同位置处的两个节点值相加,如果一个为空那就将另一个二叉树的值覆盖。 思路:如果使用迭代法,就是通过层序遍历,通过队列进行判断进行相加。如果使用递归法,…

【史上最全万字mysql进阶语法】

前言: 💞💞大家好,书生♡,今天主要和大家分享一下mysql的进阶语法,数据库的分组/分页/排序/子查询以及详细案例,希望对大家有所帮助。 💞💞前路漫漫,希望大家坚持下去&am…

获取cookie

在Servlet9里设置cookie 在Servlet10里进行获取 访问Servlet9.do,再访问Servlet10.do

没有项目管理经验,可以参加PMP考试?

PMP考试的申请者需要具备项目管理经验,所需的项目管理经验小时数指的是与项目相关的经验,比如参与项目研发、测试、交付、运维、技术支持、售前等。项目经验是一个广义概念,国际上认为几乎所有工作都可以视为项目。 PMP报考条件: …

P2036 [COCI2008-2009 #2] PERKET

如果这是最后一页,在你离开之前,能否让我把故事重写 题目链接:P2036 [COCI2008-2009 #2] PERKET - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 解题思路: dfs模板题,枚举每种调料取和不取,至少选一种调…

【JavaScript】JavaScript 程序流程控制 ② ( 循环流程控制 | 循环要素 - 循环体 / 循环终止条件 | for 循环语法结构 )

文章目录 一、JavaScript 程序流程控制 - 循环流程控制1、循环流程控制2、循环要素 - 循环体 / 循环终止条件3、for 循环语法结构 - 循环控制变量 / 循环终止条件 / 操作表达式4、for 循环 完整代码示例 一、JavaScript 程序流程控制 - 循环流程控制 1、循环流程控制 在 程序开…

数据容器-tuple-Python

师从黑马程序员 列表可以修改,元祖不可以修改 元组的定义和使用 元组的元素类型不受限 #定义元组 t1(1,"Hello",True) t2() t3tuple() print(f"t1的类型是:{type(t1)},内容是:{t1}") print(f"t2的类型是:{type(t2)},内容是:{t2}")…

Macbook m1安装docker详细教程

下载安装包 进入官网 https://www.docker.com/ 下滑找到下载位置 下滑找到Mac对应安装包 等待下载完成即可。 安装 双击打开下载的安装包 将Docker拖到Applications中 安装完成后,找到安装的Docker 双击打开 点击accept同意 进入下面: 点fini…

​selenium+python做web端自动化测试框架与实例详解教程

最近受到万点暴击,由于公司业务出现问题,工作任务没那么繁重,有时间摸索seleniumpython自动化测试,结合网上查到的资料自己编写出适合web自动化测试的框架,由于本人也是刚刚开始学习python,这套自动化框架目…

The service already exists!怎么解决,Windows怎么安装/卸载服务?

问题描述 有时候,我们在Windows系统上安装服务时会遇到报错,The service already exists! 问题分析 这个报错说明此服务已经存在了,所以我们不能再次安装,但有时候我们明明是第一次安装,为什么也会报这个错误呢? 在Windows上注册服务通常需要使用命令行工具或者特定的…

BOM

是浏览器对象 目录 是浏览器对象 BOM概述: Windows常见的对象事件: 窗口加载事件: 传统方式: 新的加载方式: 回调函数: 调整窗口大小事件: 定时器setTimeout: 定时器setInt…

makefile基础与实战编译C++项目

从源码到执行程序 makefile运行流程 :这个符号用于在执行的命令之前,通常会告诉make不要输出命令本身,只输出命令的结果。但是当它位于命令行的开头时,它通常会让Make静默执行该命令,即不在命令行中显示该命令&#xf…

MATLAB环境下基于机器学习的合成数据生成方法

合成数据是通过计算机程序人工生成的数据,而不是由真实事件生成的数据。采用合成数据来增加训练数据,可以节省数据采集费用,或满足隐私要求。随着计算能力的提高和云数据存储选项的崛起,合成数据比以往更容易获取。这无疑是一个积…

大数据信用评分40-60分,大概多久能涨回来?

大数据信用在现如今的贷前风控审核中有着重要的作用,不少人都遇到过申贷被大数据拒贷的情况,其中很多都是因为大数据评分不足,那大数据信用评分40-60分,大概多久能涨回来呢?本文就为大加详细介绍一下涨综合评分的方法和时间&…