php使用redis的lrem删除队列元素的正确方法

php使用redis的lrem删除队列元素的正确方法,不然会报错:Redis::lrem() expects parameter 3 to be int, string given

按redis文档里出现的方法说:

Redis Lrem 根据参数 COUNT 的值,移除列表中与参数 VALUE 相等的元素。

COUNT 的值可以是以下几种:

  • count > 0 : 从表头开始向表尾搜索,移除与 VALUE 相等的元素,数量为 COUNT 。
  • count < 0 : 从表尾开始向表头搜索,移除与 VALUE 相等的元素,数量为 COUNT 的绝对值。
  • count = 0 : 移除表中所有与 VALUE 相等的值。

语法

redis Lrem 命令基本语法如下:

redis 127.0.0.1:6379> LREM KEY_NAME COUNT VALUE
这样没错,于是你就会一样的写:

$redis->lrem(Key, count, value);

ok,你就报错了。

报如下的错误:


那么解决的办法是怎么样的呢?

如下:

$redis->lrem(Key, value, count);
这才是正确的,需要换下位置,不然它就一直报第三个参数必须为整数,就是上图所示。

本文由37°5【https://www.alvinxiao.com https://blog.alvinxiao.com原创,转载请注明来源。请注意原创和打造和谐的网络环境,谢谢!

分享到: