CentOS Stream 8
Sponsored Link

Redis 5 : データベース基本操作2021/05/28

 
専用のクライアントプログラム [redis-cli] を利用する場合の Redis データを扱う際の基本操作です。
以下の例の他にも非常に多くのコマンドが用意されています。詳細は本家サイトを参照ください。
⇒ https://redis.io/commands
[1] 基本的なキー操作の例です。
[root@www ~]#
redis-cli
127.0.0.1:6379> auth password 
OK

# キーに値をセットする
127.0.0.1:6379> set key01 value01 
OK

# キーの値を参照する
127.0.0.1:6379> get key01 
"value01"

# キーを削除する
127.0.0.1:6379> del key01 
(integer) 1

# キーが存在するか確認する (1 なら真)
127.0.0.1:6379> exists key01 
(integer) 0

# キーがすでに存在しない場合のみデータをセットする
# 結果が 0 の場合はキーが存在したためデータは更新されなかったことを意味する
127.0.0.1:6379> setnx key01 value02 
(integer) 1

# 有効期限を設定してキーをセットする (下例は 60秒)
127.0.0.1:6379> setex key01 60 value01 
OK

# 既存のキーに有効期限を設定する
127.0.0.1:6379> expire key02 30 
(integer) 1

# キーに値を追加する
127.0.0.1:6379> append key01 value02 
(integer) 15

# キーの部分文字列を返す : [キー] [開始位置] [終了位置]
127.0.0.1:6379> substr key01 0 3 
"valu"

127.0.0.1:6379> set key02 1 
OK

# キーの値に 1 をプラスする
127.0.0.1:6379> incr key02 
(integer) 2

# キーの値に指定数をプラスする
127.0.0.1:6379> incrby key02 100 
(integer) 102

# キーの値に 1 をマイナスする
127.0.0.1:6379> decr key02 
(integer) 101

# キーの値に指定数をマイナスする
127.0.0.1:6379> decrby key02 51 
(integer) 50

# 複数キーの値をまとめてセットする
127.0.0.1:6379> mset key01 value01 key02 value02 key03 value03 
OK

# 複数キーの値をまとめて参照する
127.0.0.1:6379> mget key01 key02 key03 
1) "value01"
2) "value02"
3) "value03"

# 既存のキーをリネームする
127.0.0.1:6379> rename key03 key04 
OK
127.0.0.1:6379> mget key01 key02 key03 key04 
1) "value01"
2) "value02"
3) (nil)
4) "value03"

# 既存のキーをリネームするがリネーム後のキーがすでに存在する場合は実行されない
127.0.0.1:6379> renamenx key01 key02 
(integer) 0
127.0.0.1:6379> mget key01 key02 key03 key04 
1) "value01"
2) "value02"
3) (nil)
4) "value03"

# 現在のデータベースのキーの数を返す
127.0.0.1:6379> dbsize 
(integer) 3

# 特定のキーを別のデータベースへ移動する
127.0.0.1:6379> move key04 1 
(integer) 1
127.0.0.1:6379> select 1 
OK
127.0.0.1:6379[1]> get key04 
"value03"

# 現在のデータベースのキーを全て削除する
127.0.0.1:6379> flushdb 
OK

# 全てのデータベースのキーを全て削除する
127.0.0.1:6379> flushall 
OK
127.0.0.1:6379> quit 

# 標準出力からデータを読み取って処理する
[root@www ~]# echo 'test_words' | redis-cli -a password --no-auth-warning -x set key01 
OK
[root@www ~]# redis-cli -a password --no-auth-warning get key01 
"test_words\n"
[2] Redis での CAS (Check And Set) 操作は watch コマンドにより実行可能です。
最終的に exec コマンドで変更を反映しますが、multi ~ exec コマンド間で他プロセス等により値が変更された場合は exec による変更の反映は行われません。
# キーを watch する
127.0.0.1:6379> watch key01 
OK
127.0.0.1:6379> get key01 
"test_words\n"
127.0.0.1:6379> multi 
OK
127.0.0.1:6379> set key01 value02 
QUEUED
127.0.0.1:6379> exec 
1) OK
関連コンテンツ