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不存在
页码: 1 2