2015-06-14 63 views
0

我正尝试使用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被接受的选择,还是我失去了一些东西?

回答