开发者社区 问答 正文

redis在诗篇建站系统缓存中的应用

诗篇建站系统是一个在线的建站平台,多用户,多域名给缓存带来一些挑战。
系统主要有一下几类资源:
1、站点媒体,在模板中使用的图片,css,js等。处于文件系统中
2、资产,比如文章附件,相册图片等,资产信息保存在数据中,内容保存在文件系统中。
3、网页,模板产生的网页,这是使用Redis的地方。
为什么使用Redis?

展开
收起
落地花开啦 2016-02-18 14:55:44 2452 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    快+简单
    诗篇建站系统的缓存仅针对模板产生的文件,就像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:
    18
    2、这是目录的clearCache:
    19
    3、这是site的clearCache:
    20

    2019-07-17 18:43:59 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等