项目实战中的问题及解决方案
咸鱼最牛逼
这个作者很懒,什么都没留下…
展开
-
十一、缓存如何设计?当更新和删除时,如何更新缓存?
缓存基本策略:单个对象缓存:key:就是对象id;value:就是对象多个对象缓存(比如分页查询): key:就是“函数名+参数1+参数2+…”;value:就是“对象id集合”1、更新策略:只更新单个对象缓存2、删除策略:只删除单个对象缓存3、查询策略:查询策略又分为单个对象查询和多个对象查询(1)单个对象查询:基本一致(2)多个对象查询:获取缓存,取出id集合,然后遍历id集合,...原创 2020-03-03 09:57:01 · 447 阅读 · 0 评论 -
二、删除ZTree中的所有父节点与用户组的关联关系(删除多重复杂关系)
(一)案例背景 如上图所示,该功能是依托于ZTree开发的一个权限分配系统。其中用户组和菜单组是相关联的,点击用户组,相关联的菜单树中的节点就被勾选上。菜单树中的节点分为两种:Menu节点(菜单节点)和Action节点(动作节点),例:“内容管理”就是Menu节点,“广告管理”就是Action节点。现在,想开发一个功能:删除Action节点。(二)问题分析 因为“用户组”是和A...原创 2018-06-24 16:27:19 · 532 阅读 · 0 评论 -
一、非实时数据的同步问题
(一)背景介绍 我们在购物网站进行下订单时,理论上我们在下完订单之后,该订单所对应的商品“已售数量”应该实时更新。但若实时更新,带来的一个问题就是需要和数据库进行实时交互,增大了数据库的IO压力。但是,实际上对于商品“已售数量”并不需要实时显示出来,只需要每隔一段时间统计更新即可,并不影响用户购物体验。 对于像“商品已售数量”这类的“伪实时数据”,我们一般是采用一个定时任务,按照一定的...原创 2018-06-11 08:36:31 · 1390 阅读 · 0 评论 -
三、服务器调优
(一)问题 1、问题一 每个用户访问一个网站都会单独享有一个session,而session是存储在内存中的。当有大量的用户访问网站时,就会占用大量的内存,而此时若好多session都是无效操作(比如:一个用户将商品添加进购物车之后就去吃饭了,网页没有关闭,那么服务器依然会保存这个session,这种session就属于短期无效session),那么就会白白浪费服务器的性能,并影响后续的用...原创 2018-08-16 11:20:12 · 1110 阅读 · 0 评论 -
四、改变了包名,再访问接口,报404错误
原因: 因为第一次测试时已经生成了编译文件(out和target文件夹),把这两个文件夹删除掉,再重新用tomcat测试即可!原创 2018-08-16 11:34:58 · 1586 阅读 · 0 评论 -
五、数据库读写分离
参见数据库读写分离,主从同步实现方法原创 2018-09-07 19:47:35 · 148 阅读 · 0 评论 -
六、添加艺术字到图片
(一)FontUtils 工具类(功能:读取艺术字体文件,转换成 Font 对象)import org.springframework.util.StringUtils;import java.awt.*;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java....原创 2018-12-18 21:30:24 · 1421 阅读 · 0 评论 -
七、Springboot项目中,非Controller使用@Autowired注解 service注入为null的问题
@Component// 将工具类声明为spring组件,这个必须不能忘public class TestUtils {@Autowiredprivate ItemService itemService; @Autowired// private ItemMapper itemMapper; // 静态初使化当前类public static TestUtils ...原创 2019-01-25 20:22:49 · 4554 阅读 · 7 评论 -
十、URL中关于空格的编码转换成+或转换成%20的问题
一、问题在对 URL 进行编码时,若 URL 中存在空格,则空格会被转换成了+,导致对方识别不成空格。二、解决办法将 URL 中所有的空格替换成 20%原创 2019-09-12 19:45:39 · 3030 阅读 · 2 评论