2015-06-14 61 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被接受的選擇,還是我失去了一些東西?

回答