1.目前基本技术栈
- SpringMVC
- Mybatis
- Redis
2.基本代码实践思路
- 数据更新完全在 Mysql 事务之中 不会读取更新缓存
- 现在 Redis 只是用来做接口缓存(数据有有效期,Key 根据 API 入口参数建立,value 就是 Mysql 查询的结果)
3. 目前提出的需求及存在的问题
- Mysql 数据更新之后 要求全部的接口必须和数据库一致
- 现在的接口返回的数据有很多连表查询,所以 mybatis 全局缓存并不好使。。同一个 namespace 的连表查询结果在表数据更新后缓存会被删除但是其他的 namespace 不行。。所以不好使
- 老板不懂开发
- 如果能做给的实践也不算长
4.我该怎么处理?
- 无法完成缓存强一致性,完成不了需求。。这个不太好。。不过有好的说服的理由的话我也试试
- 统计在任何一个表数据更新之后需要删除关联查询接口的缓存? 这个工作量太大了
- 或者各位给我们一个好的 Redis 缓存实践? Redis 做接口缓存自我感觉也不太好
我倾向与 1 和 3
一个是不做。。
一个是 能争取实践或者我能学点东西。。。
2 太他么的蛋疼了
