鍍金池/ 問答/人工智能  PHP/ php 用 redis 緩存商品信息的思路 。

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

雖然知道用redis 緩存 商品數(shù)組信息 , 但是不知道思路。 緩存商品信息的時(shí)候用一個(gè)key -> value 對(duì)應(yīng)一個(gè)商品的 id 和 數(shù)組 , 是系統(tǒng)一啟動(dòng)就把 商品表的所有 信息緩存起來嗎 ??

回答
編輯回答
敢試

個(gè)人拙見:
1.使用redis緩存商品的數(shù)組信息,首先 如果必要,只緩存商品的部分信息,提高網(wǎng)站的加載速度,比如說商品的列表頁面,只需要商品的名稱,價(jià)格部分信息,在詳情頁面因?yàn)槭菃未尾樵兯俣冗€是比較快的.
2.相對(duì)來說,商城不做一些高并發(fā),秒殺等業(yè)務(wù),緩存信息如上回答,用文件做緩存相對(duì)比較理想.
3.redis如果做整個(gè)頁面的數(shù)據(jù)緩存用的還是相對(duì)來說比較少的

2018年6月16日 02:12
編輯回答
葬愛

你用的是什么電商系統(tǒng)?實(shí)際上一些流行的電商框架,比如ecshop其實(shí)不使用redis,而是用的文件緩存,redis實(shí)際上不適合做電商里商品的緩存。我以前用過國外的電商系統(tǒng)magento 同樣是文件緩存,它是在初始化的時(shí)候?qū)⑺械?code>xml配置文件里的內(nèi)容全部緩存起來,當(dāng)然在深層的運(yùn)作機(jī)理我也沒研究過

2018年7月10日 20:29
編輯回答
影魅

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

2017年1月6日 08:19
編輯回答
失心人

如果是電商網(wǎng)站,Redis的用法有好幾種,我這里只說一種拋磚引玉。我們都知道,一個(gè)商城的產(chǎn)品千千萬,你不可能緩存所有的,但是可以緩存【客戶喜歡的商品】。因?yàn)樯坛亲罱K的目的不單單是讓客人覺得速度快,而是讓客人覺得總能找到自己心儀的產(chǎn)品。所以可以根據(jù)自己的產(chǎn)品規(guī)則定義用戶喜好行為,比如說主動(dòng)點(diǎn)擊某種產(chǎn)品,搜索某種產(chǎn)品名稱,在某產(chǎn)品頁面停留時(shí)間過長...

// 用戶點(diǎn)開某一個(gè)產(chǎn)品:
$redis->hmset( 'product:1000' , [
    'name' => '電熱毯',
    'price' => '1300',
    'category' => ['電器','床上用品','毛毯'],
    ......
]);
// 把相關(guān)類別的like值累加
$redis->hIncrBy('category:電器', 'like', 1); 
$redis->hIncrBy('category:床上用品', 'like', 1); 
$redis->hIncrBy('category:電器毛毯', 'like', 1); 
 
// 然后在購物車?yán)锩婵梢灾苯拥玫疆a(chǎn)品
$redis->hGetAll('product:1000');

// 并且可以根據(jù)獲得的種類分?jǐn)?shù)挑選出 可能喜歡的產(chǎn)品
$redis->hGetAll('category');

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

2017年2月26日 18:58
編輯回答
失魂人

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

2017年11月20日 03:26