亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

php 用 redis 緩存商品信息的思路 。

php 用 redis 緩存商品信息的思路 。

PHP
拉風的咖菲貓 2019-03-05 12:36:11
雖然知道用redis 緩存 商品數組信息 , 但是不知道思路。 緩存商品信息的時候用一個key -> value 對應一個商品的 id 和 數組 , 是系統一啟動就把 商品表的所有 信息緩存起來嗎 ??
查看完整描述

5 回答

?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

如果是電商網站,Redis的用法有好幾種,我這里只說一種拋磚引玉。我們都知道,一個商城的產品千千萬,你不可能緩存所有的,但是可以緩存【客戶喜歡的商品】。因為商城最終的目的不單單是讓客人覺得速度快,而是讓客人覺得總能找到自己心儀的產品。所以可以根據自己的產品規則定義用戶喜好行為,比如說主動點擊某種產品,搜索某種產品名稱,在某產品頁面停留時間過長...

// 用戶點開某一個產品:
$redis->hmset( 'product:1000' , [
    'name' => '電熱毯',
    'price' => '1300',
    'category' => ['電器','床上用品','毛毯'],
    ......
]);
// 把相關類別的like值累加
$redis->hIncrBy('category:電器', 'like', 1); 
$redis->hIncrBy('category:床上用品', 'like', 1); 
$redis->hIncrBy('category:電器毛毯', 'like', 1); 
 
// 然后在購物車里面可以直接得到產品
$redis->hGetAll('product:1000');

// 并且可以根據獲得的種類分數挑選出 可能喜歡的產品
$redis->hGetAll('category');

以上是個粗簡的例子,只在于說明用法之一,僅供參考。

查看完整回答
反對 回復 2019-03-18
?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

你用的是什么電商系統?實際上一些流行的電商框架,比如ecshop其實不使用redis,而是用的文件緩存,redis實際上不適合做電商里商品的緩存。我以前用過國外的電商系統magento 同樣是文件緩存,它是在初始化的時候將所有的xml配置文件里的內容全部緩存起來,當然在深層的運作機理我也沒研究過

查看完整回答
反對 回復 2019-03-18
?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

比如查找商品的時候,首先去緩存里面去查找,如果緩存中有,就返回,否則需要去數據庫中查詢,然后返回.具體怎么用的工作中的項目目前還沒有遇到過。。。

查看完整回答
反對 回復 2019-03-18
?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

個人拙見:
1.使用redis緩存商品的數組信息,首先 如果必要,只緩存商品的部分信息,提高網站的加載速度,比如說商品的列表頁面,只需要商品的名稱,價格部分信息,在詳情頁面因為是單次查詢速度還是比較快的.
2.相對來說,商城不做一些高并發,秒殺等業務,緩存信息如上回答,用文件做緩存相對比較理想.
3.redis如果做整個頁面的數據緩存用的還是相對來說比較少的

查看完整回答
反對 回復 2019-03-18
?
米琪卡哇伊

TA貢獻1998條經驗 獲得超6個贊

商品頁面要渲染的太多,緩存文件是必須的,數據也可以緩存

查看完整回答
反對 回復 2019-03-18
  • 5 回答
  • 0 關注
  • 786 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號