百科问答小站 logo
百科问答小站 font logo



新浪微博「点赞功能」数据库如何设计的? 第1页

  

user avatar   kinvoker 网友的相关建议: 
      

我现在在微博负责这块代码

每个微博都有一个点赞数,跟微博内容是分开存储的

数据库用了基于redis二次开发的计数器,里面有很多亮瞎的细节具体就不方便多说了,主要优化了存储效率,内存存储了最近几年的点赞数据,在达到存储极限的时候会将最旧的数据转到磁盘,如果缓存miss会读磁盘,而且只有特别老的数据才会读磁盘,所以影响不大,性能和原生的redis一样,但是同样的内存会存储更多的数据,具体有多少倒是没有算过

最近也在考虑将计数器的代码开源出来,如果你们对这方面有需要,可以关注一下


找到了前辈在设计计数器思路的文章

[WeiDesign]微博计数器的设计(下) · Cydu's Blog




  

相关话题

  怎样理解分析王垠文章《SQL,NoSQL 以及数据库的实质》的观点? 
  作为一个K-V数据库,levelDB索引为什么要使用LSM树实现,而不采用哈希索引? 
  《阿里巴巴JAVA开发手册》里面写超过三张表禁止join 这是为什么?这样的话那sql要怎么写? 
  elasticsearch(lucene)可以代替NoSQL(mongodb)吗? 
  明明很多编程语言从对象数组中取数据比用SQL从表中取数据方便,为什么数据库还是使用SQL? 
  SQLite 的读写效率很高,有哪些使用其他数据库的理由? 
  为什么 mysql 要额外加入一个 utf8mb4 数据类型,而不是原地升级 utf8? 
  大家设计数据库时使用外键吗? 
  什么样的数据库设计才是优秀的? 
  金融分析量化系统,高频交易程序数据库通常采用哪种方式存贮数据? 

前一个讨论
PHP的未来在哪?
下一个讨论
如何看待内马尔与卡瓦尼争夺点球及之后的内讧传闻?





© 2025-04-19 - tinynew.org. All Rights Reserved.
© 2025-04-19 - tinynew.org. 保留所有权利