英[mu:v] 美[muv]

vt.& vi.Move, move

vi.Action; moving; progress; (machine, etc.) starting

vt.Propose; move; shake; change

n.Change;migrate

Third person singular: moves Plural: moves Present participle: moving Past tense: moved Past participle: moved

redis MOVE command syntax

Function:Move the key of the current database to the given database db.

Syntax: MOVE key db

Description: If the current database (source database) and the given database (target database) have the same name Given key , or key does not exist in the current database, then MOVE has no effect. Therefore, you can also take advantage of this feature and treat MOVE as a locking primitive.

Available versions: >= 1.0.0

Time complexity: O(1)

Return: Returns 1 if the move is successful, 0 if it fails.

redis MOVE command example

# 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
# 當 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
# 當源數據庫和目標數據庫有相同的 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"