zoukankan      html  css  js  c++  java
  • MOVE

    MOVE key db

    将当前数据库的key移动到给定的数据库db当中。

    如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定key,或者key不存在于当前数据库,那么MOVE没有任何效果。

    因此,也可以利用这一特性,将MOVE当作锁(locking)原语(primitive)。

    版本:>=1.0.0

    时间复杂度:

           O(1)

    返回值:

      移动成功返回1,失败则返回0.

    # key 存在于当前数据库
    
    127.0.0.1:6379> SELECT 0        #redis默认使用数据库0,为了清晰起见,这里再显式指定一次。
    OK
    127.0.0.1:6379> SET song "secret base - Zone"
    OK
    127.0.0.1:6379> MOVE song 1   #将song移动到数据库1
    (integer) 1
    127.0.0.1:6379> EXISTS song    #song已经被移走
    (integer) 0
    127.0.0.1:6379> SELECT 1         #使用数据库1
    OK
    127.0.0.1:6379[1]> EXISTS song #证实song被移到了数据库1(注意命令提示符变成了“xxx【1】”,表明正在使用数据库1)
    (integer) 1
    
    #当key不存在的时候
    
    127.0.0.1:6379[1]> EXISTS fake_key
    (integer) 0
    127.0.0.1:6379[1]> MOVE fake_key 0    #试图从数据库1移动一个不存在的key到数据库0,失败
    (integer) 0
    127.0.0.1:6379[1]> SELECT 0               #使用数据库0
    OK
    127.0.0.1:6379> EXISTS fake_Key         #证实fake_key不存在
    (integer) 0
    127.0.0.1:6379> SELECT 0                    #使用数据库0
    OK
    127.0.0.1:6379> SET favorite_fruit "banana"
    OK
    127.0.0.1:6379> SELECT 1                     #使用数据库1
    OK
    127.0.0.1:6379[1]> SET favorite_fruit "apple"
    OK
    127.0.0.1:6379[1]> SELECT 0                 #使用数据库0,并试图将favorite_fruit移动到数据库1
    OK
    127.0.0.1:6379> MOVE favorite_fruit 1     #因为两个数据库有相同的key,MOVE失败
    (integer) 0
    127.0.0.1:6379> GET favorite_fruit           #数据库0的favorite_fruit 没变
    "banana"
    127.0.0.1:6379> SELECT 1
    OK
    127.0.0.1:6379[1]> GET favorite_fruit       #数据库1的favorite_fruit也是
    "apple" 
  • 相关阅读:
    echarts仪表盘如何设置图例(legend)
    js上传限制文件大小
    js下载文件及命名(兼容多浏览器)
    为什么每个浏览器都有Mozilla字样(转载于知乎shadow)
    用JS做一个简单的电商产品放大镜功能
    unity下跨平台excel读写
    无限大地图:lightmap拆分
    Unity 打包总结和资源的优化和处理
    Unity3d: 资源释放时存储空间不足引发的思考和遇到的问题
    profiler内存优化:警惕回调函数
  • 原文地址:https://www.cnblogs.com/winnerREN/p/9534201.html
Copyright © 2011-2022 走看看