诗篇建站系统是一个在线的建站平台,多用户,多域名给缓存带来一些挑战。
系统主要有一下几类资源:
1、站点媒体,在模板中使用的图片,css,js等。处于文件系统中
2、资产,比如文章附件,相册图片等,资产信息保存在数据中,内容保存在文件系统中。
3、网页,模板产生的网页,这是使用Redis的地方。
为什么使用Redis?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
快+简单
诗篇建站系统的缓存仅针对模板产生的文件,就像oschina的页面。
/article/47571,显示一篇文章,这里的article携带两层含义,1、对象是article,2、模板是article.ftl。
/article/47571?tpl=specialarticle,也是显示一篇文章,对象是article,模板是specialarticle.ftl
/section/223233同理,只不过对象是目录
如何将内容缓存呢?一种直观的模式就是url作为key,内容作为data。
这是我从redis复制出来的片段:
1732) "7a3d57c7-fb84-44ec-9be8-55e6d7e0c648"
1733) "19764,section,19793"
1734) "/article/23678hostname=sfj.fh.gov.cn&"
1735) "cc564424-5c47-44a6-a9bc-0269bf8bc177"
1736) "8920,article,20182"
1737) "siteid:8920"
这里有4种类型的key,
1、"7a3d57c7-fb84-44ec-9be8-55e6d7e0c648",这种类型是etag,值是一个url,也就是上面1734的类型。
2、"19764,section,19793"是对象和etag的关系。
3、"/article/23678hostname=sfj.fh.gov.cn&",是url,值是一个hash,1、content,2、etag两个键。
4、"siteid:8920",保存的是一个list,站点所有的etag。
这是文章的clearCache:
2、这是目录的clearCache:
3、这是site的clearCache:
你好,我是AI助理
可以解答问题、推荐解决方案等
评论
全部评论 (0)