前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >缓存层如何设计

缓存层如何设计

作者头像
马克java社区
修改2021-10-11 10:23:49
7900
修改2021-10-11 10:23:49
举报
文章被收录于专栏:java大数据java大数据

3)缓存层如何设计

马克-to-win:我们前面讲过 了n-tier架构。在我们的程序当中,还可以设计一个缓存层。在去访问数据库之前,先看看缓存层中有没有数据,如果没有的话,从数据库取完数据回来,一 定要放在缓存层当中一份,下次就不用去数据库了。马克-to-win:如果对数据库当中,某个数据更新了,同时一定要记住也更新一下缓存当中的数据。这样的话,既保证了缓存的 数据是最新的,也保证了将来查询时不用去查数据库,减轻了对数据库的压力。 这里有些问题,问题1,如果除了你的项目,还有其他的地方可以更改数据库,怎么办?可以做一个守护线程,发现某个表的版本变了,就重新把表的数据加载回你 的缓存。问题2,对于条件查询,如何处理缓存?比如30元到50元的衣服数据的第二页。大家通常的做法是,把整个衣服表都加载到缓存中,无非就是一个 List,之后整个做个遍历,把符合条件的选出来。为什么要整个加载?因为别人还有可能要查20到40块钱的第五页的数据。问题3,项目a处需要看表的 123列,b处需要看表的456列,缓存时就直接把123456列作为一个表缓存起来,供两处使用。马克-to-win:顺便说一句,缓存也可以缓存图片。数据库和图片服务 器,可以认为是大的仓库,什么都能找到,而缓存可以看做是前端的商店,客户经常要买的东西就存一部分在商店,这样可以提高效率。如果商店没有相应的商品, 也不用着急,因为我们后面的仓库肯定有。

更多请看:https://blog.csdn.net/qq_44594371/article/details/103188885

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档