sscan redis laravel 5.4云9

时间:2018-08-01 05:39:11

标签: laravel-5 redis cloud9 predis phpredis

我正在尝试将sscan redis用于cloud 9中的laravel。我在localhost上使用了此功能,并尝试dd代码,它与该代码完美配合:

dd($this->redis->sscan('events:'.$eid.':tickets' , null , '*:'.$name))

邮递员的输出:

array:4 [
  0 => "Ct1yaZ2Q0Z:VIP Ticket"
  1 => "5vXsIqYvpF:VIP Ticket"
  2 => "jwCEU0lDXX:VIP Ticket"
  3 => "1mloEc8bFW:VIP Ticket"
]

但是,由于在云9上具有相同的功能,因此没有任何变化,并且我尝试对该功能进行dd设置,当没有数据时,它会向我提供这样的输出:

array:2 [
  0 => "0"
  1 => []
]

,并且错误页面在集合中存在匹配的数据时显示ERR语法错误。

但是当集合中有数据时,我像这样在云9上添加'match'关键字:

dd($this->redis->sscan('events:'.$eid.':tickets' , null ,'match','*:'.$name));

它可以工作,但是输出格式不同,变成这样:

array:2 [
  0 => "0"
  1 => array:4 [
    0 => "5xI4hCpuSU:VIP Ticket"
    1 => "E9ottqlLkk:VIP Ticket"
    2 => "VzJB5RfegK:VIP Ticket"
    3 => "8TwVvqTmEK:VIP Ticket"
  ]
]

然后我尝试在本地主机上添加'match'关键字,这使我出错:

  

Redis :: sscan()期望参数4为整数,给出字符串

我想知道为什么它在云9上能提供不同的输出和错误,而在localhost上却能完美地工作,这是否意味着云9中的redis具有不同的语法?

0 个答案:

没有答案