redis實現點擊量瀏覽量,該如何處理

來源:互聯網
上載者:User
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到期機制


小弟希望各位大神給指出不妥和最佳化的地方
在10000線上使用者,1000並發的基礎上上述redis的儲存機制對記憶體壓力是否可行
同步機制和緩衝到期機制是否有更好的解決的方案
在此拜謝
------解決思路----------------------
KEY 最好設定成 2014_10_30. cateid_arvicleid_t形式

選擇方案二 通過資料庫同步機制同時清除 在每天淩晨的2~4點進行同步 因為指令碼1.同步指令碼可能失敗 2.資料量大的時候昨天的0時資料會被今天的0時覆蓋

號稱1秒10W請求的redis 不懼1000的並發

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.