首页 > 其他分享 >项目优化

项目优化

时间:2023-06-17 15:46:12浏览次数:27  
标签:缓存 项目 方法 Redis 验证码 优化 服务端

缓存优化

问题说明

  如果用户数量多,系统访问量大,频繁访问数据库,系统性能下降,用户体验差

环境搭建

  1.创建gitee仓库,使用git管理代码,创建v1.0分支,用于编写缓存优化相关代码1

  2.导入maven坐标 ,使用redis进行缓存优化,导入相关依赖

缓存短信验证码

 实现思路

前面我们已经实现了移动端手机验证码登录,随机生成的验证码我们是保存在HttpSession中的。现在需要改造为将验证码缓存在Redis中,具体的实现思路如下:
1、在服务端UserController中注入RedisTemplate对象,用于操作Redis

2、在服务端UserController的sendMsg方法中,将随机生成的验证码缓存到Redis中,并设置有效期为5分钟

3、在服务端UserController的login方法中,从Redis中获取缓存的验证码,如果登录成功则删除Redis中的验证码

 

缓存菜品数据

实现思路

前面我们已经实现了移动端菜品查看功能,对应的服务端方法为DishController的list方法,此方法会根据前端提交的查询条件进行数据库查询操作。在高并发的情况下,频繁查询数据库会导致系统性能下降,服务端响应时间增长。现在需要对此方法进行缓存优化,提高系统的性能。
具体的实现思路如下:
1、改造DishController的list方法,先从Redis中获取菜品数据,如果有则直接返回,无需查询数据库;如果没有则查询数据库,并将查询到的菜品数据放入Redis。
2、改造DishController的save和update方法,加入清理缓存的逻辑
注意事项
在使用缓存过程中,要注意保证数据库中的数据和缓存中的数据一致,如果数据库中的数据发生变化,需要及时清理缓存数据。

spring cache

 

 缓存套餐数据

前面我们已经实现了移动端套餐查看功能,对应的服务端方法为SetmealController的list方法,此方法会根据前端提交的查询条件进行数据库查询操作。在高并发的情况下,频繁查询数据库会导致系统性能下降,服务端响应时间增长,现在需要对此方法进行缓存优化,提高系统的性能。具体的实现思路如下:
1、导入Spring Cache和Redis相关maven坐标
2、在application.yml中配置缓存数据的过期时间
在启动类上加入@EnableCaching注解,开启缓存注解功能3、
在SetmealController的list方法上加入@Cacheable注解4、
5、在SetmealController的save和delete方法上加入CacheEvict注解

标签:缓存,项目,方法,Redis,验证码,优化,服务端
From: https://www.cnblogs.com/projectruiji/p/17464406.html

相关文章

  • 使用Docker将Vite Vue项目部署到Nginx二级目录
    Vue项目配置使用Vite创建一个Vue项目,点我查看如何创建配置打包路径在Nginx中如果是二级目录,例如/web时,需要设置线上的打包路径在项目跟路径下创建两个文件:.env.production、.env.development,写入一下内容:##生产环境NODE_ENV='production'VITE_BASE_PATH=/form-design......
  • 项目级思维与团队合作
    思维导图与笔记合集项目管理过程项目管理基础团队Lecture1Lecture2Lecture3task项目管理项目目标......
  • 4、第一次构建项目报错处理
     翻译如下:编译错误此项目包含Java编译错误,可能导致自定义视图呈现失败。先修复编译问题。解决方案如下:找到File->InvalidateCaches/Restart清除缓存及重启Studio 点击InvalidateCaches/Restart清除缓存及重启Studio 解决了哦,没有报错了 ......
  • TienChin 代码格式化-项目结构大改造
    代码格式化博主下载项目之后发现,整体的代码格式化风格,与C那种语言很相似,说明这个作者之前就是从事这块的导致风格有点类似,我们来格式化一下,当然这不是必要的,我是没习惯这种写法所以这里我写一下我格式化的过程让大家也学习下。格式化之前:格式化方式,选择项目:勾选一下我图中框出来......
  • 项目-已完成
    ERPerp_parent(Java-后端)erp_web(Java-前端)视频点播VIDEO_Parent(Java-后端)VIDEO_Portal(Nuxt-商户端)JavaScript/HTML/CSSNubia(努比亚-网站)Qunar(去哪儿-移动官网静态页面,采用伸缩布局)Heroes-Of-The-Storm(风暴英雄游戏网站,静态页面)VIVO(VIVO-网站,响应式)......
  • 【优化配煤】基于遗传算法实现配煤问题优化求解附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • 【储能优化】基于ylimp和cvx实现光风负荷储能微电网储能配置优化附matlab代码
    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。......
  • TienChin 代码格式化-项目结构大改造
    代码格式化博主下载项目之后发现,整体的代码格式化风格,与C那种语言很相似,说明这个作者之前就是从事这块的导致风格有点类似,我们来格式化一下,当然这不是必要的,我是没习惯这种写法所以这里我写一下我格式化的过程让大家也学习下。格式化之前:格式化方式,选择项目:勾选一下我图中框出来......
  • 3、构建第一个项目
           ......
  • 斜率优化dp 学习笔记
    斜率优化dp引入首先,我们考虑一种更简单的dp优化——单调队列优化。比如,一个dp式形如:\[dp_{i}=\min_{k\leqj\leqi}(dp_j+f_j+g_i)\]我们发现,这个式子可以通过拆分(wgj:分离变量),变形成如下式子:\[dp_{i}=\min_{k\leqj\leqi}(dp_j+f_j)+g_i\]怎么样?我们发现,取最小......