首頁  >  文章  >  後端開發  >  如何處理商品點擊數

如何處理商品點擊數

WBOY
WBOY原創
2016-12-01 00:25:521320瀏覽

同一個用戶不管點擊某件商品多少次,都只統計為1,實時統計商品點擊數.
此種情況下怎樣做到最優方案
我現在想到的只是使用redisset數據類型,每次點擊都使用redis存一下,因為set是不能重複的,所以直接SCARD 一下,總數就算出來了,然後一段時間再持久化到數據庫.但是如果以後數據量很大,佔用記憶體也會很恐怖吧.大家有沒有別的解決方案.
坐等!!!

回覆內容:

同一個用戶不管點擊某件商品多少次,都只統計為1,實時統計商品點擊數.
此種情況下怎樣做到最優方案
我現在想到的只是使用redisset數據類型,每次點擊都使用redis存一下,因為set是不能重複的,所以直接SCARD 一下,總數就算出來了,然後一段時間再持久化到數據庫.但是如果以後數據量很大,佔用記憶體也會很恐怖吧.大家有沒有別的解決方案.
坐等!!!

如果不需要非常精準的情況下,且不需要知道哪些使用者瀏覽了商品,可以考慮HyperLogLog

pfadd shop:{$good_id} user:{$user_id}

另外phpredis的擴充要更新至2.2.7才能使用

<code class="php">$redis->pfadd("key", array(
                        $element1, 
                        $element2,
                        ...,
                        $elementN)
                        );</code>

相關參考資料:Redis基數統計-HyperLogLog小記憶體大用處

能有多大?不是有進有出麼,實在不行機器麼

有進有出,在出的時候刷資料進資料庫時存完數字順便把使用者商品點擊關係保存下來,下次出的時候檢驗。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn