百万级运维经验四:大流量如何保存文章阅读数

标签: 百万 经验 流量 | 发表时间:2014-05-25 23:39 | 作者:reallypride
分享到:
出处:http://blog.csdn.net

网站文章通常都会有个阅读数,最简单的方法就是每访问一次就加一,这看起来很简单,update一下就可以了。如果网站访问量很大呢,每天有几十万次的访问呢,一秒钟就要update几次服务器,效率就很低了。而且,数据库update的时候会锁表,还会影响到读操作,看来只能用缓存了。

Memcached是会丢失数据的,不合适;Redis是内存型数据库,可以持久化,就用它了。Redis运行的时候,是把数据都保存在内存中的,读写速度非常的快,而且可以设置持久化策略,一般几分钟保存一次到硬盘就可以了,即使数据丢失,也只是几分钟的阅读数而已,这种损失是可以接受的。还可以使用crontab做个任务,定时把阅读数同步到数据库,其它类似的计数也可以使用这种方式保存。Redis的读写速度是非常快的,所以不用担心在显示列表的时候一个个去读取阅读数的性能问题。

如果要像QQ空间那样,保存哪些用户访问过该篇文章呢,这也很简单,Redis有种数据类型叫集合(Sets),每次登录用户访问时,就把用户ID添加到该文件的集合里就可以了,集合能自动去重,很方便。如果还需要根据访问时间排序呢,比如最新访问的用户排在前面,用有序集合(Sorted Sets)就可以了,把当前时间作为有序集合的分数。


作者:reallypride 发表于2014-5-25 23:39:05 原文链接
阅读:74 评论:0 查看评论

相关 [百万 经验 流量] 推荐:

百万级运维经验四:大流量如何保存文章阅读数

- - CSDN博客系统运维推荐文章
网站文章通常都会有个阅读数,最简单的方法就是每访问一次就加一,这看起来很简单,update一下就可以了. 如果网站访问量很大呢,每天有几十万次的访问呢,一秒钟就要update几次服务器,效率就很低了. 而且,数据库update的时候会锁表,还会影响到读操作,看来只能用缓存了. Memcached是会丢失数据的,不合适;Redis是内存型数据库,可以持久化,就用它了.

从百万到十亿PV:Reddit的25条宝贵经验

- - IT经理网
自2005年至今,知名社交新闻网站Reddit的月页面浏览量完成了百万到十亿的转变,流量每15月翻一番,而Reddit的员工数量仍不满30,平均每位员工负责2400万PV. Reddit的高效率运营有两个支点:数以万计的志愿者以及失败中不断积累的宝贵经验. 前不久,Reddit前雇员Jeremy Edberg在RAMP会议上通过主题为“Scaling Reddit from 1 Million to 1 Billion–Pitfalls and Lessons”的演讲与人们分享了Reddit的宝贵经验.

百万级运维经验二:Redis和Memcached的选择

- - CSDN博客系统运维推荐文章
看到很多人推荐使用Redis代替Memcached,我觉得这两个是不一样的东西,它们的关系应该是共存而不是替代. Memcached是个纯内存型的缓存系统,支持数据类型单一,单个缓存数据有限制,支持分布式,我觉得这是个很理想的缓存系统. Redis是个简单的NOSQL数据库,支持几种简单的数据类型,支持主从复制,支持持久化,可以看作是个内存型数据库.

百万级运维经验四:服务器的选择和部署

- - CSDN博客系统运维推荐文章
对服务器的选择,我曾经盲目过. 流量大了服务器顶不住怎么办,我那时候的想法就是加配置,4核变8核,8核变16核,内存也加,4GB变8GB变16GB,为什么不加服务器呢,麻烦嘛,觉得提高服务器配置的效果也是一样的. 后来我才明白,这种想法是错误的,还是停留在个人电脑的思维. 我发现,增加了服务器配置并不能给我带来相应的性能提升,我对服务器和操作系统没有特别深的了解,我个人觉得原因如下:.

百万级运维经验五:服务器内核优化集锦

- - CSDN博客系统运维推荐文章
编辑文件 /etc/security/limits.conf ,添加两行参数:. 这两行参数设置linux系统最大可打开文件数. 编辑文件/etc/sysctl.conf,添加以下参数:. 如果服务器装有Redis,这个参数一定要加,不然Redis有很大的可能无法同步数据到磁盘. 把所有带backlog的参数的值调大,如:.

百万流量的起处:网站从微博中获得用户的细节与方法论

- - 徐志斌
微博现在已经成为继搜索引擎之后又一个流量分发中心,但一家网站究竟能从微博中带走多少流量. 第一个答案是由一家社会化电商网站告诉我们的,他们每天从腾讯微博带走40万独立IP. 而管理后台则显示,从最高每天220万独立IP到最低十几个点击,网站们都出现在那条起伏的曲线中. 于是问题又变成了:那些在尖峰中的网站,他们怎么做到从微博带走可观的流量的.

百万级运维经验一:Mongodb和Redis数据不能放在同一个服务器

- - CSDN博客系统运维推荐文章
一开始时,为了省服务器,把Mongodb和Redis放在一个服务器上. 网站每到高峰期都特别卡,还经常出现502. 找了很久的原因,发现硬盘的写数据很大,IOPS也很高,排查了很多原因都没找到. 然后再仔细研究监控,发现写硬盘的操作很有规律,每隔几分钟就有一次频繁的写硬盘,联想到Redis同步数据到硬盘的间隔就是几分钟,所以开始怀疑是Redis引起的.

流量生意

- flypen - 张磊的blog
前些日子网上盛传某联盟的按月分成数据,其中番茄花园、雨木林风的分成都高达百万. 有人惊呼:原来做盗版软件这么赚钱. 也有人质疑:他们怎么可能赚这么多钱. 他们确实很赚钱,简单说,这就是流量生意. 为什么几乎每个巨头都有一个“网站联盟”. 为什么Google当年愿意付费推广Firefox. 为什么,推广Firefox、自己做Chrome的同时,把微软当作对手的Google还特意提供“优化的Internet Explorer”.

scrum经验

- - CSDN博客研发管理推荐文章
Scrum是基于过程控制理论的经验方法,倡导自组织团队;其运行框架核心是迭代增量型并行开发,也是“适应性”的软件开发方法. Scrum提供了高度可视化的用于管理软件开发复杂性管理的敏捷项目管理的实践框架或敏捷过程,可以用于对现存软件工程实践的包装,提高软件生产率,改善沟通和合作的方法,使人们协作并注重业务目标.

linux 查看流量

- - 开源软件 - ITeye博客
在Linux下怎么看网络流量. 在Windows下,我们可以很方便的通过360来查看网络流量,知道哪个进程占用的网络带宽比较多. 那在Linux下怎么看流量呢,对于Web服务器来说这是很重要的. 下面这边博客很仔细的介绍了Linux下看流量的方法:. Linux 各种查看网卡流量的方法  http://jasonyong.blog.51cto.com/47753/174197.