Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

数据的缓存 #9

Open
wangwugang1314 opened this issue Sep 3, 2020 · 1 comment
Open

数据的缓存 #9

wangwugang1314 opened this issue Sep 3, 2020 · 1 comment

Comments

@wangwugang1314
Copy link

个人认为单独的数据缓存使用redis是不行的,就像您说的那样如果数据量比较大,redis集群有限的话,就会导致数据库压力比较大,之前我也有写过类似的静态配置平台,也出现相同问题并考虑过数据的缓存方案,总结了一点,可以把数据缓存分类型,分等级去做,可以将数据类型分为多种,界面上可以选择,比如数据量大小,数据请求量是否频繁,如果数据量比较大,并且不频繁就不适合redis, 缓存策略,比如返回304状态,比如做CDN,比如将数据JSON静态化存储,如果数据量小的话存redis没问题,但是要配置适当的缓存时间,还要区分数据是否频繁,是否经常不变动的数据,就可使用浏览器缓存,redis也可以不存储数据,存储数据更新时间,校验数据数据时间返回304状态,还可以做多级换存策略,先判断是否是缓存时间不变返回304,二级是redis数据缓存,如果时间改变redis获取,如果resis没有,json静态获取,如果再没有就数据库读取,但是都需要做数据的区分,数据量大小,数据的频繁性,最好是单个数据可以界面单独配置缓存策略,重点是数据改变一定要清楚缓存,这个只是我个人见解

@gavin1995
Copy link
Owner

@wangwugang1314 你的思路OK的,对于单页应用来讲多走一次CDN很没必要,其实解决思路也挺多的:

  1. 对于不需要做参数区分的数据可以直接注入到index.html模板里;
  2. 类似的,既想高性能又想高可用,其实serverless也是一个不错的选择,动态的去生成index.html,做一个index缓存,同时还能达到类似CDN的效果;
  3. 加入redis的话做一个数据分级缓存也很OK的。👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants