代码改变世界

随笔档案-2013年02月

用mysql+redis实现微博feed架构上需要注意哪些问题

2013-02-27 09:51 by 折翼的鸟, 392 阅读, 收藏, 编辑
摘要: 1、MySQL使用需要注意的地方1) 存储引擎选择InnoDB,在高并发下读写有很好的表现2) 数据合理分表分区,均衡各数据库服务器的负载3) 适当作数据的冗余,便于在cache失效时的快速恢复2、Redis使用需要注意的地方1) 合理规划cache将访问量高的热点数据统计出来、分类缓存。对微博来说,主要有三种形式的缓存:IDs,content,page。IDs包括各种关系的ID列表,如用户的粉丝、关注的对象、发表的新鲜事等,这些可以缓存在Redis的set或list结构中;content包括各ID的具体信息及内容,如新鲜事的正文、用户的详细信息等,这些可以缓存在Redis的string或ha 阅读全文

缓存策略

2013-02-27 09:50 by 折翼的鸟, 397 阅读, 收藏, 编辑
摘要: 1.全缓存很多的时候,在大量数据展示的过程中,我们总是喜欢分页展示,那个,如何设计这个分页的。当然,我们完全可以一页页的去数据库中获取相应的数据,但是很多的时候,我们不是这样做的,例如,每页数据有20条,我们可能会实现预加载100条数据在缓存中,每次展示将一页的数据进行展示。下面,就开始说说这个“全缓存”。接着上面的分页的例子,我们预先取来100条,然后用户就不断的翻页,此时,如果用户翻到了第6页,或者后面,此时,我们没有缓存后面的数据,此时,我们就开始再次去获取100条数据,那么此时,在缓存中就有了200条,并且是从1到10页的。以此类推,我将之定义为“全缓存“,因为最后的结果将会缓存用户查 阅读全文
点击右上角即可分享
微信分享提示