我正嘗試使用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