充分利用缓存技术解决高并发问题

实现思路:
1:所有的查询都是单表查询,如果页面上要展示相关联的其他表的数据,就对其他的有关系的表做单独查询,最后组装成一个完整的结果集(所有的查询都是优先基于缓存的不用担心效率问题,可能有些繁琐);
2:所有的Dao层 对数据CRUD进行操作,全部缓存到Redis中;
3:定时任务执行将数据库中CRUD操作频率比较高的数据缓存到Redis中(思路:例如创建时间是最近半个月的数据进行缓存);
4:Redis中存缓存全部表的思路(key:表名称+id,value:当前整行数据);
5:当插入或更新数据太多的场合,可以先更新缓存,将更新任务放到MQ中,再慢慢消费更新(从MQ中读取到数据redis的key,根据key 在找到对应的value,再将value更新到DB中);

目前这还是我的一个思路,没有实践验证,欢迎留言讨论。

猜你喜欢

转载自blog.csdn.net/woshiyeguiren/article/details/79820484