redis 移动 DB

MOVE key db
将当前数据库的 key 移动到给定的数据库 db 当中。
如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定 key ,或者 key 不存在于当前数据库,那么 MOVE 没有任何效果。
因此,也可以利用这一特性,将 MOVE 当作锁 (locking) 原语 (primitive)。

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

示例:(Redis 默认有 16 个DB, 0 - 15 )

1、当 key 存在于当前数据库

redis> SELECT    # redis默认使用数据库 ,为了清晰起见,这里再显式指定一次。
OK redis> SET song "secret base - Zone"
OK redis> MOVE song   # 将 song 移动到数据库
(integer) redis> EXISTS song   # song 已经被移走
(integer) redis> SELECT   # 使用数据库
OK redis:> EXISTS song   # 证实 song 被移到了数据库 ( 注意命令提示符变成了"redis:1",表明正在使用数据库 1 )
(integer)

2、当 key 不存在的时候

redis:> EXISTS fake_key
(integer) redis:> MOVE fake_key   # 试图从数据库 移动一个不存在的 key 到数据库 ,失败
(integer) redis:> select   # 使用数据库0
OK redis> EXISTS fake_key   # 证实 fake_key 不存在
(integer)

3、当源数据库和目标数据库有相同的 key 时

redis> SELECT    # 使用数据库0
OK
redis> SET favorite_fruit "aaaaa"
OK redis> SELECT   # 使用数据库1
OK
redis:> SET favorite_fruit "bbbbb"
OK redis:> SELECT   # 使用数据库0,并试图将 favorite_fruit 移动到数据库
OK redis> MOVE favorite_fruit   # 因为两个数据库有相同的 key,MOVE 失败
(integer) redis> GET favorite_fruit   # 数据库 的 favorite_fruit 没变
"aaaaa" redis> SELECT
OK redis:> GET favorite_fruit   # 数据库 的 favorite_fruit 也是
"bbbbb"

Redis 迁移 DB; move key db的更多相关文章

  1. redis基础和通用key操作

    redis是什么? redis开源的,构建于内存的数据结构的nosql数据库.常被用于数据存储,缓存处理和消息处理. redis的优势? 1.极高的读写能力 2.丰富的数据类型 3.原子性操作 4.支 ...

  2. Redis迁移键

    迁移键: move key db 用于在Redis内部进行数据迁移 dump key + restore key ttl value 可以实现在不同的Redis实例之间进行数据迁移 127.0.0.1 ...

  3. Redis教程(七):Key操作命令详解

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/134.html?1455807040 一.概述: 在该系列的前几篇博客中, ...

  4. Redis学习笔记(1)-Key

    package cn.com; import java.text.ParseException; import java.util.List; import java.util.Set; import ...

  5. Redis 命令,键(key),字符串(String),哈希(Hash),列表(List),集合(Set)(二)

      Redis 命令 Redis 命令用于在 redis 服务上执行操作. 要在 redis 服务上执行命令需要一个 redis 客户端.Redis 客户端在我们之前下载的的 redis 的安装包中. ...

  6. (一)Redis笔记——简介 、key 、数据类型

    1.  Redis是什么.特点.优势 Redis是一个开源的使用C语言编写.开源.支持网络.可基于内存亦可持久化的日志型.高性能的Key-Value数据库,并提供多种语言的API. 它通常被称为数据结 ...

  7. 比Redis更快:Berkeley DB面面观

    比Redis更快:Berkeley DB面面观 Redis很火,最近大家用的多.从两年前开始,Memcached转向Redis逐渐成为潮流:而Berkeley DB可能很多朋友还很陌生,首先,我们简单 ...

  8. django 连接MYSQL时,数据迁移时报:django.db.utils.InternalError: (1366, "Incorrect string value: '\\xE9\\x97\\xAE\\xE9\\xA2\\x98' for column 'name' at row 5")

    django 连接MYSQL时,数据迁移时报:django.db.utils.InternalError: (1366, "Incorrect string value: '\\xE9\\x ...

  9. Redis-port安装使用实现redis迁移codis,以及简单redis pipe实现将mysql迁移redis

    (0)Redis-port原理: 首先是看到下面这篇文档开始研究的redis-port http://www.itnpc.com/news/web/146085373656602.html  简要截图 ...

随机推荐

  1. Linux中历史命令

    历史命令,即之前登录session会话中的在命令行键入的命令. 在Linux中可以有两种方式查询历史命令 history命令 当前用户目录中的隐藏文件.bash_history 一.history 作 ...

  2. Java 加载动态库 dll 文件

    不知道具体原理,但是,加载 dll 文件时,带路径或者更改 dll 文件的名字,都会报错.虽然库记载成功了,但是处女座认为这不可接受.于是有了这个解决方案. 在根目录为库创建软连接,然后使用 syst ...

  3. SpringBootSecurity学习(25)前后端分离版之OAuth2.0 令牌中继

    增加Eureka 前面介绍的项目都是授权服务和资源服务单独两个,这样在资源服务中的 check_token 地址都是写死的地址 : 下面我们把eureka加上,这样就可以直接用服务名了.eureka服 ...

  4. 打印出三位数的水仙花数Python

    水仙花数计算 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪ ...

  5. java中static和final修饰符

    static和final修饰符 一.static修饰符 static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. ...

  6. Debian忘记密码重置

    前一阵子因为特殊原因我把一个网站的VPS服务器关闭了,结果竟把SSH密码忘了,也没有使用SSH密钥,因为上面还有网站文件不能选择重装,只能尝试在面板重置,但是面板返回结果一直是404我无法获得重置的密 ...

  7. azure 上传blob到ams(CreateFromBlob)

    遇到的错误:The destination storage credentials must contain the account key credentials,参数名: destinationS ...

  8. JavaScript 函数(一)

    一.函数概述 1.概述 把一段相对独立的具有特定功能的代码块封装起来,形成一个独立实体,就是函数,起个名字(函数名),在后续开发中可以反复调用函数的作用就是封装一段代码,将来可以重复使用. 二.使用函 ...

  9. java.lang.UnsatisfiedLinkError: dlopen failed: library "/system/lib/libjni_i

    出错log:java.lang.UnsatisfiedLinkError: dlopen failed: library "/system/lib/libskytvjni.so" ...

  10. Objective-C之深浅拷贝

    深拷贝(指针和指向都改变) , 浅拷贝(指针改变,指向不变) NSString *s1 = @"string"; NSLog(@"s1 : %p, %p, %@" ...