<?php $redis->pipeline(); if(count($productIds) > 1){ foreach($productIds as $key=>$productId) { foreach($productIds as $k => $memberId){ if($productId == $memberId){ continue; } //成员为每个商品同时添加购物车的商品, 分数为同时添加到购物车的次数 if($redis->ZRANK(SELF::PRODUCT_RALATION_KEY_PREFIX.$productId,$memberId) !== FALSE){ //已存在, 相关性分数 +1 $redis->ZINCRBY(SELF::PRODUCT_RALATION_KEY_PREFIX.$productId,1,$memberId); }else{ //不存在, 创建相关性 member $redis->ZADD(SELF::PRODUCT_RALATION_KEY_PREFIX.$productId,1,$memberId); } } } } $redis->exec();
先上代码,现在在做一个商品关联性的数据保存到redis,当两个商品同时出现在订单时,就给每个商品创建zset,后序两件商品再同时出现就要进行自增操作,这样的逻辑用pipeline可行吗,找了好久没找到相关资料,求说明一下
梵蒂冈之花