zoukankan      html  css  js  c++  java
  • redis实现点击量/浏览量

    java+redis实现高性能新闻点击量更新

    1、redis简单介绍。它用来做高性能数据存取 是极好的。

    2、实例:新闻点击量。

        1)每次刷新,我们并不一定要往数据库里面立即更新数据

        2)可以在redis里面做key-value存储

        3)设置一个阀值,当用户刷新到一定数量时才更新到数据库中

    3、本课时在windows下部署。

    4、linux部署 后面也会讲到

    课程地址 :http://edu.51cto.com/index.php?do=lesson&id=42104

    API代码:http://blog.csdn.net/kuanghongjiang/article/details/45061863

    ------------------------------------------------------------------------------------------

    redis实现点击量浏览量

    业务描述: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过期机制 。

       在每天凌晨的2~4点进行同步  因为脚本1.同步脚本可能失败 2.数据量大的时候昨天的0时数据会被今天的0时覆盖 

       号称1秒10W请求的redis 不惧1000的并发 

  • 相关阅读:
    [转]
    Linux
    [转]
    [转]
    Linux 高级网络编程
    [转]
    [译]- 6-1 排列窗体上的控件(Laying Out Widgets on a Form)
    [转]
    [转]
    the thread has exited with code -1073741819
  • 原文地址:https://www.cnblogs.com/zhaojinhui/p/5511981.html
Copyright © 2011-2022 走看看