Redis移動DB;move key db

5086 ワード

redis移動DB
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"