在做项目的过程中 中有一写问题 那些参数可以写进cook
1、我觉得的经常用的 一些没必要在去数据库查了 可以直接缓存起来 写进cook 减少对数据库的查询。
代码中不要出现 数字 在这分页的默认值写成了15 每个页面都写一次 改起来还是比较麻烦的 可以定义一个公共的方法
//接受分页数据 $row = isset($_POST['row'])?$_POST['row']:15; //每页显示行数 $page = isset($_POST['page'])?$_POST['page']:1; //当前页码数
(在做edu这个项目的时候 有个学期id 每次都用 没有把他缓存起来 现在要改又要改好多代码。做个配置等。第一次带项目,没啥经验。该规定的也没规定 ,导致后期同一个参数有各种命名。应该统一规范,长远考虑 。)
2、时间问题 这个问题虽说不是什么问题 但是后期处理起来比较麻烦 日期现在在数据库存的都是时间戳 不是data
查数据的时候日期显示2017-01-02 它不包含今天的数据 在查询上会出现丢失当天数据。 要么统一规定结束时间加上23:59:59分(不知道其他公司怎么规定的,最好还是加上时秒分 开始时间0:0:0, 结束时间23:59:59)。
3、之前做充值,一哥们在程序的时候,对充值的这条记录没做状态判断,导致后台有两个管理员同时受到了审核通知,同时去审核,导致这个用户的钱给充值了两次。这个坑啊。.....做这些重要操作的的时候先看状态,状态变了就不用操作了。
4.做redis缓存的时候要提前沟通,提前设计,根据业务场景设计出那些需要缓存,新增的时候先删除缓存在从新生成
1、缓存【失效】:客户端请求数据先从缓存中查询,如果没有再查询数据库,最后将数据放入缓存
2、缓存【命中】:客户端从缓存中直接取到数据,返回结果
3、缓存【更新】:客户端写入数据到数据库,成功之后,让缓存失 下次请求时从缓存中拿不到,则查询数据库,再放入缓存
4、为什么不采取更新后删除缓存策略?
防止并发写操作导致脏数据
5、为什么不删除缓存后再更新数据库?
两个并发请求,一个读操作,一个写操作,如果先删除缓存,读操作会将【旧数据】写入缓存,写操作【更新数据】后也不会更新缓存,导致脏数据一直存在