博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DB,Cache和Redis应用场景分析
阅读量:7208 次
发布时间:2019-06-29

本文共 663 字,大约阅读时间需要 2 分钟。

最近做一产品,微博方面的。数据存储同时用到了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主要放了一些
不太紧要的而又经常改变的数据。

转载地址:http://lmrum.baihongyu.com/

你可能感兴趣的文章
[转].NET Framework、C#、CLR和Visual Studo之间的版本关系
查看>>
sql语句-2-字符串数字日期时间
查看>>
[Python3网络爬虫开发实战] 3.1.2-处理异常
查看>>
25、没有编程基础可以学习PHP吗?
查看>>
mybatis案例源码详解
查看>>
Python--day37--进程锁
查看>>
导出PDF乱码
查看>>
UE4的AI学习(1)——基本概念
查看>>
自动开机 双网卡网络唤醒
查看>>
Unity中的特殊文件夹
查看>>
Windows下安装Hadoop
查看>>
ganglia 一站式部署
查看>>
svn 的使用
查看>>
react-router-dom
查看>>
nohup后台执行
查看>>
转贴:Cache 总结
查看>>
自学或者复习的话,runnoob这个网站不错~~
查看>>
快速用梯度下降法实现一个Logistic Regression 分类器
查看>>
python基础学习2
查看>>
[Tyvj 1728]普通平衡树
查看>>