DB,Cache和Redis应用场景分析-阿里云开发者社区

开发者社区> 数据库> 正文

DB,Cache和Redis应用场景分析

简介: 最近做一产品,微博方面的。数据存储同时用到了DB(mysql),Cache(memcache),Redis。其实最开始架构设计的时候是准备用MongoDB的,由于学习成本太高,最终选择放弃了,采用了比较保守的方案。

最近做一产品,微博方面的。数据存储同时用到了DB(mysql),Cache(memcache),Redis。其实最开始架构设计的时候是准备用MongoDB的,由于学习成本太高,
最终选择放弃了,采用了比较保守的方案。这款微博产品做了将近一年,涵盖了手机客户端(ios,android),web(刚上线不久),现在差不多有10多W用户,光
DB的写操作也到了几十W每日,前段时间刚刚做了一个读写分离。目前感觉这套系统还比较稳定。下文主要就微博产品的一些数据存储的应用场景做个简要介绍。
    DB
        DB主要用来存储一些不经常修改的数据,比如微博,评论,好友关系,用户信息,和一些微博分类。这里边联表查询比较多,虽然有些地方做了一些视
图。由于业务比较复杂,还是有不少地方超过了3个表的联表查询。随着数据量的逐步增加,下一步要考虑分库分表了。
       Cache
       主要对经常使用的数据做了缓存,比如新发的微博,第一页评论,登录的用户信息,微博分类。目前主要做了细粒度的缓存,下一步针对业务级做一些缓
存。
       Redis
      主要用来做计数器,比如发帖数,评论数,阅读数之类的,比较合适存储经常改变而又需要永久存储的数据,这也是和cache的区别。另外对登录后的好
友关系做了一个redis备份。Redis还做了一些临时存储的数据,比如今日最热微博,本周最热微博ID列表。
    这三个组件相辅相成。其实DB放了一些需要永久存储,而不经常修改的数据。Cache针对单表和业务层分别做了一些细粗粒度的缓存。Redis主要放了一些
不太紧要的而又经常改变的数据。

如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章