点评项目导入

news/2024/10/20 18:56:00/

文章目录

    • 开篇导读
    • 项目地址
    • 导入SQL
    • 项目架构介绍
    • 后端项目导入
    • 前端项目导入

开篇导读

实战篇我们要学习以下内容

  • 短信登录

这一块我们会使用redis共享session来实现

  • 商户查询缓存

通过本章节,我们会理解缓存击穿,缓存穿透,缓存雪崩等问题,让小伙伴的对于这些概念的理解不仅仅是停留在概念上,更是能在代码中看到对应的内容

  • 优惠卷秒杀

通过本章节,我们可以学会Redis的计数器功能, 结合Lua完成高性能的redis操作,同时学会Redis分布式锁的原理,包括Redis的三种消息队列

  • 附近的商户

我们利用Redis的GEOHash来完成对于地理坐标的操作

  • UV统计

主要是使用Redis来完成统计功能

  • 用户签到

使用Redis的BitMap数据统计功能

  • 好友关注

基于Set集合的关注、取消关注,共同关注等等功能,这一块知识咱们之前就讲过,这次我们在项目中来使用一下

  • 打人探店

基于List来完成点赞列表的操作,同时基于SortedSet来完成点赞的排行榜功能

以上这些内容咱们统统都会给小伙伴们讲解清楚,让大家充分理解如何使用Redis

1653056228879

项目地址

我上传了一份备份在Gitcode上, 需要者自取

https://gitcode.net/Drifter_Galaxy/hmdp

导入SQL

运行项目的前置条件是已经安装好了Redis和MySQL服务并启动.

在Mysql中创建hmdp数据库, 导入hmdp.sql

MySQL数据库建议采用5.7及以上版本.

项目架构介绍

手机或者app端发起请求,请求我们的nginx服务器,nginx基于七层模型走的事HTTP协议,可以实现基于Lua直接绕开tomcat访问redis,也可以作为静态资源服务器,轻松扛下上万并发, 负载均衡到下游tomcat服务器,打散流量,我们都知道一台4核8G的tomcat,在优化和处理简单业务的加持下,大不了就处理1000左右的并发, 经过nginx的负载均衡分流后,利用集群支撑起整个项目,同时nginx在部署了前端项目后,更是可以做到动静分离,进一步降低tomcat服务的压力,这些功能都得靠nginx起作用,所以nginx是整个项目中重要的一环。

在tomcat支撑起并发流量后,我们如果让tomcat直接去访问Mysql,根据经验Mysql企业级服务器只要上点并发,一般是16或32 核心cpu,32 或64G内存,像企业级mysql加上固态硬盘能够支撑的并发,大概就是4000起~7000左右,上万并发, 瞬间就会让Mysql服务器的cpu,硬盘全部打满,容易崩溃,所以我们在高并发场景下,会选择使用mysql集群,同时为了进一步降低Mysql的压力,同时增加访问的性能,我们也会加入Redis,同时使用Redis集群使得Redis对外提供更好的服务。

后端项目导入


解压后用IDEA打开, 配置好MySQL和Redis的账号密码


运行HmDianPingApplication即可启动后端


启动成功的标志为浏览器访问http://localhost:8081/shop-type/list出现数据.

前端项目导入


将其复制到任意目录,要确保该目录不包含中文、特殊字符和空格:
运行nginx.exe, 然后访问http://localhost:8080/即可看到页面.


至此 项目运行完成 ! ! !


http://www.ppmy.cn/news/63982.html

相关文章

C/C++趣味程序设计百例(41~50)

C/C语言经典、实用、趣味程序设计编程百例精解(5) 41.马克思手稿中的数学题 马克思手稿中有一道趣味数学问题:有30个人,其中有男人、女人和小孩,在一家饭馆吃饭花了50先令;每个男人花3先令,每个…

Linux网络基础-2

在之前的网络基础博客中,我们对网络的基本概念进行了一个简单的介绍,那么接下来的网络内容中,我们将对网络通信中的典型协议进行详细解释。 我们根据网络协议中的分层来对典型协议进行注意介绍,不过对于物理层的传输我们不做考究…

nio的成本和收益以及客户端是否需要使用nio

nio的成本和收益以及客户端是否需要使用nio nio额外成本: 需要额外安排一个网络线程池 是否需要使用nio? 分节省线程和节省连接两个角度讨论下: 一. 是否节省线程: 服务端: 肯定是要的, 收益: 通过多路复用, 增加安排少量的网络线程即可监听成千上万的端口(客户端连接事件)…

JavaScript通过js的方式来判断一个数奇偶性的代码

以下为通过js的方式来判断一个数奇偶性的程序代码和运行截图 目录 前言 一、通过js的方式来判断一个数奇偶性(html部分) 1.1 运行流程及思想 1.2 代码段 二、通过js的方式来判断一个数奇偶性(js部分) 2.1 运行流程及思想 2…

智能美妆镜兴起,如何升级更精细、智能的化妆体验!

经常化妆的小姐姐,会发现化妆除了要有好皮肤、一堆化妆品之外,化妆镜的作用也尤其重要!爱拍照的小姐姐们都知道,自拍的效果好不好,和背景、灯光有着很大的关系,其中灯光的冷调或者暖调,也是影响…

机器人工程学习和研究的结构性失衡

结论:无解,谁是那屈指可数的幸运者/(ㄒoㄒ)/~~ 供给:培养的机器人工程专业人才 需求:市场企业主体招聘的相关人才 不匹配,错配,导致供给无效。 机器人工程学习和研究的结构性失衡可能是由多种原因导致的…

Android 音频开发——Radio服务(二)

收音机(Radio)作为 Android 中比较常见的的模块,它的服务(BroadcastRadioService)跟蓝牙、WiFi 服务一样都是在 SystemServer 中启动的。本章节我们主要分析一下 BroadcastRadioService 的相关源码。 一、服务启动流程 1、SystemServer 源码路径:/frameworks/base/ser…

实施CRM目标有哪几步?如何制定CRM目标?

在当今竞争激烈的商业环境中,与客户建立持久的关系是企业重要的工作。CRM客户管理系统能有效帮助企业管理优化流程、管理客户,提高销售成功率,推动收入增长。那么您了解如何实施CRM吗?下面说说实施CRM目标是什么,如何设…