redis实现点击量浏览量

蟲蟲 发布于 2014/10/30 16:32
阅读 2K+
收藏 1
业务描述
CMS文章浏览量(标题被加载量),点击量统计(文章被点击开的量)
以下是本人设计的统计业务,主要技术redis,nodejs,redis应用点击量缓存以减少数据库压力,nodejs通过异步非阻塞机制实现CMS业务逻辑和统计功能区分
传入参数cateid(分类id),articleid(文章id),sourceip(请求源ip)
一、存储策略
1、按时间粒度记录
    redis以hash进行存储
                         HASH
           KEY                        VALUE
                                 time       his
                                   0          0
                                   1          10
   cateid_arvicleid_t        .          .
                                   .           .
                                   .           .
                                   23         230
 2、按来源统计
   redis同样以hash进行存储,来源区分到省份


                               HASH
           KEY                                VALUE
                                         provinc         his
                                          HEBEI           0
                                          HENAN          10
   cateid_arvicleid_p                  .               .
                                              .               .
                                              .               .
                                          SHANDONG   230
二、数据同步机制
   现在只想到通过linux计划任务定时将redis数据同步到数据库
三、缓存数据过期机制
   方案一 通过redis自动过期时间
    此方案需要在数据同步机制晚一些执行,保证数据入库后,清理过期缓存,现在考虑同步在每日0时执行,那么redis缓存就需要设置24小时多一点
   方案二 通过数据库同步机制同时清除
    此方案即把同步和清理缓存做在一起,弃用redis过期机制


小弟希望各位大神给指出不妥和优化的地方
在10000在线用户,1000并发的基础上上述redis的存储机制对内存压力是否可行
同步机制和缓存过期机制是否有更好的解决的方案
在此拜谢

加载中
返回顶部
顶部