redis基础教程-redis数据类型list命令之linsert-lset的基础用法

redis linsert 是向list中添加元素的。语法格式为linsert key before|after privot value

在引用值枢轴之前或之后在键中存储的列表中插入元素。
当key不存在时,认为是空列表,不进行任何操作 。
当键存在但不包含列表值时返回错误。

我们想上文中的list和rlist中都插入元素4

127.0.0.1:6379> linsert list before 3 4
 (integer) 4
127.0.0.1:6379> linsert rlist before 3 4
 (integer) 4

我们可以看到往list,和rlist插入4都成功了。我们看下现在list和rlist中的值

127.0.0.1:6379> lrange list 0 -1
 1) "4"
 2) "3"
 3) "2"
 4) "1"

127.0.0.1:6379> lrange rlist 0 -1
 1) "1"
 2) "2"
 3) "4"
 4) "3"

发现4插入的位置是不一样的,因为list和rlist队列的方向不一样,我们使用的是before可以理解为linsert为队列左边某个元素之前添加一个元素。after为之后添加某个元素。

我们试下在list,rlist中不存在的元素中添加一个元素

127.0.0.1:6379> linsert rlist after 5 7
 (integer) -1
 127.0.0.1:6379> linsert list after 5 7
 (integer) -1

我们可以看到返回的结果是-1,说明插入元素没有成功。如果给不存在的元素插入又会怎么样呢?

127.0.0.1:6379> linsert rrrrrr before 4 5
 (integer) 0

我们可以看到返回的结果是0,这个也是没有成功。我们可以根据返回值是-1还是0来判断是key不存在,还是pivot不存在

发表评论

邮箱地址不会被公开。 必填项已用*标注