• Redis 内部命令


    本文主要记录一下redis内部命令。
    命令总览:
    1.MIGRATE
    2.DUMP
    3.RESTORE
    4.SYNC
    5.PSYNC
     
    命令介绍:
    1.MIGRATE
    可用版本: >=2.6.0
    时间复杂度: O(N)
    命令格式: MIGRATE host post key destination-db timeout [copy] [replace]
    作用:
    将key原子性的从实例传送到目标实例的指定数据库中,并删除当前实例中的key。
    返回值:
    迁移成功返回OK,失败返回相应Error信息。
    其他:
    这个命令实际是在源实例上执行dump与del命令,在目标实例执行restore命令。
    timeout参数以毫秒为单位,该参数设置得是数据传送的最大时间,而不是整个操作的最大时间。
    copy参数,不删除源实例上的key。
    replace参数,替换目标实例上已经存在的key。
     
    2.DUMP
    可用版本: >=2.6.0
    时间复杂度: 查找给定键的复杂度为 O(1) ,对键进行序列化的复杂度为 O(N*M) ,其中 N 是构成 key 的 Redis 对象的数量,而 M 则是这些对象的平均大小。如果序列化的对象是比较小的字符串,那么复杂度为 O(1) 
    命令格式: DUMP key
    作用:
    序列化给定的key,并返回被序列化的值。
    其他:
    它带有 64 位的校验和,用于检测错误, RESTORE 在进行反序列化之前会先检查校验和。
    值的编码格式和 RDB 文件保持一致。
    RDB 版本会被编码在序列化值当中,如果因为 Redis 的版本不同造成 RDB 格式不兼容,那么 Redis 会拒绝对这个值进行反序列化操作。
    序列化的值不包括任何生存时间信息。
    返回值:
    如果 key 不存在,那么返回 nil 。 否则,返回序列化之后的值。
     
    3.RESTORE
    可用版本: >=2.6.0
    时间复杂度: 查找给定键的复杂度为 O(1) ,对键进行反序列化的复杂度为 O(N*M) ,其中 N 是构成 key 的 Redis 对象的数量,而 M 则是这些对象的平均大小。 有序集合(sorted set)的反序列化复杂度为 O(N*M*log(N)) ,因为有序集合每次插入的复杂度为 O(log(N)) 。 如果反序列化的对象是比较小的字符串,那么复杂度为 O(1) 
    命令格式: RESTORE key ttl serialized-value [REPLACE]
    作用:
    反序列化给定的序列化值,并将它和给定的 key 关联。
    其他:
    参数 ttl 以毫秒为单位为 key 设置生存时间;如果 ttl 为 0 ,那么不设置生存时间。
    RESTORE 在执行反序列化之前会先对序列化值的 RDB 版本和数据校验和进行检查,如果 RDB 版本不相同或者数据不完整的话,那么 RESTORE 会拒绝进行反序列化,并返回一个错误。
    如果键 key 已经存在, 并且给定了 REPLACE 选项, 那么使用反序列化得出的值来代替键 key 原有的值; 相反地, 如果键 key 已经存在, 但是没有给定 REPLACE 选项, 那么命令返回一个错误。
    返回值:
    如果反序列化成功那么返回 OK ,否则返回一个错误。
     
    4.SYNC
    可用版本: >=1.0.0
    时间复杂度: O(N)
    命令格式: SYNC
    作用:
    用于复制功能(replication)的内部命令。
    返回值:
    序列化数据。
     
    4.PSYNC
    可用版本: >=2.8.0
    命令格式: SYNC master_run_id offset
    作用:
    用于复制功能(replication)的内部命令。
    返回值:
    序列化数据。
     
     
    作者:红雨
    出处:https://www.cnblogs.com/52why
    微信公众号: 红雨python
  • 相关阅读:
    使用shell从DB2数据库导出数据
    kettle插入/更新
    kettle删除资源库中的转换或者作业
    DB2中的转义字符
    Kettle行列转换
    Linux查看文件以及文件夹的大小
    Linux下如何查看JDK安装路径
    使用Linux调用资源库中的Job报错-ERROR: No repository provided, can't load job.
    通过shell脚本获取日期,并赋给变量
    批处理判断是否存在文件,存在则运行另外一个bat文件
  • 原文地址:https://www.cnblogs.com/52why/p/14357804.html
Copyright © 2020-2023  润新知