🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 117 Redis的列表操作 * **在列表左边添加元素** ```text 语法:lpush key values 示例:lpush name angle lpush name angle miku ``` 将值value插入到列表key的表头。如果key不存在,一个空列表会被创建并执行lpush操作。当key存在但不是列表类型时,将返回一个错误。 * **在列表右边添加元素** ```text 语法: rpush key values 示例: rpush websites www.qq.com 0 -1 ``` 将值value插入到列表可以的表尾。如果可以不存在,一个空列表会被创建并执行RPUSH操作。当key存在但不是列表类型时,返回一个错误。 * **查看列表中的元素** ```text 语法:lrange key start stop 示例:lrange name 0 1 ``` 返回列表key中指定区间内的元素,区间以偏移量start和stop指定如果要左边的第一个到最后的一个lrange key 0 -1 * **移除列表中的元素** * 移除并返回列表key的头元素 ```text lpop key 示例: 127.0.0.1:6379> lpop websites "www.163.com" 127.0.0.1:6379> lrange websites 0 -1 1) "www.baidu.com" 2) "www.qq.com" 3) "0" 4) "-1" ``` * 移除并返回列表的尾元素 ```text rpop key 示例: 127.0.0.1:6379> rpop websites "-1" 127.0.0.1:6379> lrange websites 0 -1 1) "www.baidu.com" 2) "www.qq.com" 3) "0" ``` * 移除并返回列表key的中间元素 ```text lrem key couont value 示例: 127.0.0.1:6379> lrem websites 1 www.qq.com (integer) 1 127.0.0.1:6379> lrange websites 0 -1 1) "www.baidu.com" 2) "0" ``` 将删除可以key这个列表中,count个值为value的元素 * **指定返回第几个元素** ```text lindex key index 示例: 127.0.0.1:6379> lindex websites 0 "www.baidu.com" 127.0.0.1:6379> lindex websites 1 "0" ``` 将返回key这个列表中,索引为index的这个元素 * **获取列表中的元素个数** ```text llen key 示例: 127.0.0.1:6379> llen websites (integer) 2 ``` * **删除指定的元素** ```text lrem key count value 示例: # 从表头开始搜索,删除数量为1,删除值为1 lrem websites 1 1 # 从表尾开始搜索,删除数量为1,删除值为1 lrem websites -1 1 # 删除所有1 lrem websites 0 1 ``` 1. count>0:从表头开始向表尾搜索,移除与value相等的元素,数量为count 2. count<0:从表尾开始向表头搜索,移除与value相等的元素,数量为count的绝对值 3. count=0:移除表中所有与value相等的值