Redis リストの指定した値の前後に値を挿入する

Redisで、リストの指定した値の前後に値を挿入する手順を記述してます。
環境
- OS Ubuntu 21.10 (Impish Indri)
- Redis 6.2.6
手順
リストの指定した値の前後に値を挿入するには、「linsert」を使用します。
※beforeを指定すると値の前に、afterを指定すると後ろに挿入します。
linsert キー名 after 値 挿入する値
or
linsert キー名 before 値 挿入する値
実際に、以下のリストを作成して指定した値の前後に値を挿入してみます。
127.0.0.1:6379> rpush list1 "aaa"
(integer) 1
127.0.0.1:6379> rpush list1 "bbb"
(integer) 2
127.0.0.1:6379> rpush list1 "ccc"
(integer) 3
127.0.0.1:6379> lrange list1 0 -1
1) "aaa"
2) "bbb"
3) "ccc"
「bbb」の後ろに「BBB」を挿入してみます。
127.0.0.1:6379> linsert list1 after "bbb" "BBB"
(integer) 4
127.0.0.1:6379> lrange list1 0 -1
1) "aaa"
2) "bbb"
3) "BBB"
4) "ccc"
挿入されていることが確認できます。
今度は「bbb」の前に「AAA」を挿入してみます。
127.0.0.1:6379> linsert list1 before "bbb" "AAA"
(integer) 5
127.0.0.1:6379> lrange list1 0 -1
1) "aaa"
2) "AAA"
3) "bbb"
4) "BBB"
5) "ccc"
挿入されていることが確認できます。
値が存在しない場合
指定した値が存在しない場合は「-1」が返り、何も挿入されません。
127.0.0.1:6379> linsert list1 before "ddd" "DDD"
(integer) -1
127.0.0.1:6379> lrange list1 0 -1
1) "aaa"
2) "AAA"
3) "bbb"
4) "BBB"
5) "ccc"
値が複数ある場合
値が複数ある場合は、先頭から先に見つかった値が指定されます。
127.0.0.1:6379> lrange list1 0 -1
1) "AAA"
2) "aaa"
3) "AAA"
4) "bbb"
5) "BBB"
6) "ccc"
127.0.0.1:6379> linsert list1 after "AAA" "BBB"
(integer) 7
127.0.0.1:6379> lrange list1 0 -1
1) "AAA"
2) "BBB"
3) "aaa"
4) "AAA"
5) "bbb"
6) "BBB"
7) "ccc"
-
前の記事
Tauri 実行時にエラー「error: failed to run custom build command for libdbus-sys v0.2.2」が発生した場合の対処法 2022.10.07
-
次の記事
VBA アルファベットの大文字を小文字に変換する 2022.10.07
コメントを書く