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的並發 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM