redis list 清空记录小技巧
redis中的list操作命令中删除指定key中的所有记录命令:
ltrim key 1 0
即 ltrim key start end 中的start要比end大即可,数值且都为正数。
参考资料:http://redis.cn/commands/ltrim.html
http://redisdoc.com/list/ltrim.html
Redis的List删除命令:
lrem : lrem mylist 0 "value" //从mylist中删除全部等值value的元素 0为全部,负值为从尾部开始。
ltrim: ltrim mylist 1 -1 //保留mylist中 1到末尾的值,即删除第一个值。
lpop: lpop mylist
rpop: rpop mylist
命令里没有根据index删除元素的命令,如果想要删除指定index的值:
lset mylist index "del"
lrem mylist 0 "del"
也可以用事务管道合并成一次请求
multi
lset mylist index "del"
lrem mylist 0 "del"
exec
.Net中使用ServiceStack.Redis为例
RedisClient client = new RedisClient(host, 6379);//实例化客户端连接
client.LRem("mylist", 0, value);//value 为bety[] 类型。
Lrem key-name count value——根据count值从列表中删除与value相等的项,
(1)count>0,从左到右删除最多count个与value相等的项
(2)count<0,从右到左删除最多count个与value相等的项
(3)count=0,删除所有与value相等的项