Redis キーの名前を変更する

Redisで、キーの名前を変更する手順を記述してます。「rename」に元のキーと変更したいキー名を指定刷ることで可能です。名前を変更すると元のキー名の値は「nil」となります。
環境
- OS CentOS Stream release 9
- Redis 7.0.5
手順
キーの名前を変更するには、「rename」を使用します。
rename キー名 変更するキー名
実際に、キーを作成して「k1」という名前を「chk」に変更してみます。
127.0.0.1:6379> set k1 "aaa"
OK
127.0.0.1:6379> rename k1 chk
OK
127.0.0.1:6379> get chk
"aaa"
127.0.0.1:6379> get k1
(nil)
キーの名前が変更されて、元の名前が「nil」になっていることが確認できます。
renameするキーがなければエラーとなります。
127.0.0.1:6379> rename k1 k2
(error) ERR no such key
既にキーが存在する場合
既にキーが存在する場合は、上書きされます。
127.0.0.1:6379> set k1 "aaa"
OK
127.0.0.1:6379> set k2 "bbb"
OK
127.0.0.1:6379> rename k1 k2
OK
127.0.0.1:6379> get k2
"aaa"
127.0.0.1:6379> get k1
(nil)
renamenx
「renamenx」を使用すると、既にキーが存在する場合は上書きされません。
127.0.0.1:6379> set k1 "aaa"
OK
127.0.0.1:6379> set k2 "bbb"
OK
127.0.0.1:6379> renamenx k1 k2
(integer) 0
127.0.0.1:6379> get k2
"bbb"
キーが存在しなければ「rename」と同じ動作となります。
127.0.0.1:6379> del k2
(integer) 1
127.0.0.1:6379> renamenx k1 k2
(integer) 1
127.0.0.1:6379> get k2
"aaa"
127.0.0.1:6379> get k1
(nil)
-
前の記事
Ruby 割り算の商と余りを取得する 2024.09.20
-
次の記事
Ubuntuでシェルスクリプトを使って自動バックアップを設定する方法 2024.09.20
コメントを書く