我正尝试使用laravel redis为ZADD设置选项,但是失败。在laravel redis中为ZADD命令设置选项
我需要设置的选项是NX,如文档中表示:
ZADD选项(Redis的3.0.2或更高版本)
ZADD支持的选项列表,名称后指定的关键和第一次得分论证之前。
所以我写这样的:
$this->redis->zAdd('orderIDs:' . $category, 'NX',[$orderId => $timestamp[1]]);
该错误消息我得到的是
PHP警告:strlen的()预计参数1是字符串数组给定 在/ RediMail/vendor/predis/predis/src/Connection/StreamConnection.php on line 270
我也尝试把'NX'放到其他位置,但是laravel似乎不喜欢使用ZADD选项的想法。
有没有办法做到这一点laravel或我需要使用另一种方式来设置我的排序集的选项?
我在使用Redis 3.0.2。
从predis/predis:
class ZSetAdd extends Command
{
/**
* {@inheritdoc}
*/
public function getId()
{
return 'ZADD';
}
/**
* {@inheritdoc}
*/
protected function filterArguments(array $arguments)
{
if (count($arguments) === 2 && is_array($arguments[1])) {
$flattened = array($arguments[0]);
foreach ($arguments[1] as $member => $score) {
$flattened[] = $score;
$flattened[] = $member;
}
return $flattened;
}
return $arguments;
}
}
看起来不像predis被接受的选择,还是我失去了一些东西?
谢谢!我只是潜入这个美好的世界...... – baao