5 回答

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊
如果是電商網(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è)粗簡(jiǎn)的例子,只在于說明用法之一,僅供參考。

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

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊
比如查找商品的時(shí)候,首先去緩存里面去查找,如果緩存中有,就返回,否則需要去數(shù)據(jù)庫中查詢,然后返回.具體怎么用的工作中的項(xiàng)目目前還沒有遇到過。。。

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊
個(gè)人拙見:
1.使用redis緩存商品的數(shù)組信息,首先 如果必要,只緩存商品的部分信息,提高網(wǎng)站的加載速度,比如說商品的列表頁面,只需要商品的名稱,價(jià)格部分信息,在詳情頁面因?yàn)槭菃未尾樵兯俣冗€是比較快的.
2.相對(duì)來說,商城不做一些高并發(fā),秒殺等業(yè)務(wù),緩存信息如上回答,用文件做緩存相對(duì)比較理想.
3.redis如果做整個(gè)頁面的數(shù)據(jù)緩存用的還是相對(duì)來說比較少的
- 5 回答
- 0 關(guān)注
- 774 瀏覽
添加回答
舉報(bào)