-
墨色风雨
如果是电商网站,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');
以上是个粗简的例子,只在于说明用法之一,仅供参考。
-
扬帆大鱼
你用的是什么电商系统?实际上一些流行的电商框架,比如ecshop其实不使用redis,而是用的文件缓存,redis实际上不适合做电商里商品的缓存。我以前用过国外的电商系统magento 同样是文件缓存,它是在初始化的时候将所有的xml配置文件里的内容全部缓存起来,当然在深层的运作机理我也没研究过
-
开心每一天1111
比如查找商品的时候,首先去缓存里面去查找,如果缓存中有,就返回,否则需要去数据库中查询,然后返回.具体怎么用的工作中的项目目前还没有遇到过。。。
-
繁星coding
个人拙见:1.使用redis缓存商品的数组信息,首先 如果必要,只缓存商品的部分信息,提高网站的加载速度,比如说商品的列表页面,只需要商品的名称,价格部分信息,在详情页面因为是单次查询速度还是比较快的.2.相对来说,商城不做一些高并发,秒杀等业务,缓存信息如上回答,用文件做缓存相对比较理想.3.redis如果做整个页面的数据缓存用的还是相对来说比较少的
-
米琪卡哇伊
商品页面要渲染的太多,缓存文件是必须的,数据也可以缓存