Redis移動DB;move key db
5086 ワード
redis移動DB
MOVE key dbは、現在のデータベースのkeyを所定のデータベースdbに移動する.現在のデータベース(ソース・データベース)と指定されたデータベース(ターゲット・データベース)に同じ名前の指定キーがある場合、またはそのキーが現在のデータベースに存在しない場合、MOVEは何の効果もありません.したがって、この特性を利用してMOVEをロック原語(primitive)としてもよい.
例:(Redisのデフォルトは16 DB、0-15)
1.keyが現在のデータベースに存在する場合
2、keyが存在しないとき
3、ソースデータベースとターゲットデータベースが同じkeyである場合
MOVE key dbは、現在のデータベースのkeyを所定のデータベースdbに移動する.現在のデータベース(ソース・データベース)と指定されたデータベース(ターゲット・データベース)に同じ名前の指定キーがある場合、またはそのキーが現在のデータベースに存在しない場合、MOVEは何の効果もありません.したがって、この特性を利用してMOVEをロック原語(primitive)としてもよい.
:
1 , 0 。
例:(Redisのデフォルトは16 DB、0-15)
1.keyが現在のデータベースに存在する場合
redis> SELECT 0 # redis 0, , 。
OK
redis> SET song "secret base - Zone"
OK
redis> MOVE song 1 # song 1
(integer) 1
redis> EXISTS song # song
(integer) 0
redis> SELECT 1 # 1
OK
redis:1> EXISTS song # song 1 ( "redis:1", 1 )
(integer) 1
2、keyが存在しないとき
redis:1> EXISTS fake_key
(integer) 0
redis:1> MOVE fake_key 0 # 1 key 0,
(integer) 0
redis:1> select 0 # 0
OK
redis> EXISTS fake_key # fake_key
(integer) 0
3、ソースデータベースとターゲットデータベースが同じkeyである場合
redis> SELECT 0 # 0
OK
redis> SET favorite_fruit "banana"
OK
redis> SELECT 1 # 1
OK
redis:1> SET favorite_fruit "apple"
OK
redis:1> SELECT 0 # 0, favorite_fruit 1
OK
redis> MOVE favorite_fruit 1 # key,MOVE
(integer) 0
redis> GET favorite_fruit # 0 favorite_fruit
"banana"
redis> SELECT 1
OK
redis:1> GET favorite_fruit # 1 favorite_fruit
"apple"