lrem

1. 基本語法

lrem(key, count , value)

刪除串列中全部或部分的value,刪除的次數及方法取決於count參數。

count取值

刪除規則

count等於0

刪除串列中所有位置的value

count大於0

則從串列最前端開始往後依序刪除countvalue

count小於0

則從串列最末端開始往前依序刪除|count|value

2. 範例

(1) 刪除串列中前2個A,count = 2

client.del('foo');

const foo_list = ['-','A', '-', 'A', '-', 'A', '-', 'A', '-'];
client.rpush('foo', foo_list);
client.lrange('foo', 0, -1, redis.print);

client.lrem('foo', 2, 'A');
client.lrange('foo', 0, -1, redis.print);
Reply: 1,A,2,A,3,A,4,A,5
Reply: 1,2,3,A,4,A,5

(2) 刪除串列中倒數2個A,count = -2

client.del('foo');

const foo_list = ['-','A', '-', 'A', '-', 'A', '-', 'A', '-'];
client.rpush('foo', foo_list);
client.lrange('foo', 0, -1, redis.print);

client.lrem('foo', -2, 'A');
client.lrange('foo', 0, -1, redis.print);
Reply: -,A,-,A,-,A,-,A,-
Reply: -,A,-,A,-,-,-

(3) 刪除串列中所有A,count = 0

client.del('foo');

const foo_list = ['-','A', '-', 'A', '-', 'A', '-', 'A', '-'];
client.rpush('foo', foo_list);
client.lrange('foo', 0, -1, redis.print);

client.lrem('foo', 0, 'A');
client.lrange('foo', 0, -1, redis.print);
Reply: -,A,-,A,-,A,-,A,-
Reply: -,-,-,-,-

Last updated

Was this helpful?