zoukankan      html  css  js  c++  java
  • Redis常用的一些基本命令

    以下罗列Redis常用的一些基本命令(按照个人理解分类),几种数据类型(Sting, Hash, List, Set, SortedSet等)的操作命令不再罗列,具体使用参考官方文档。

    Connection(连接)

    • Auth 命令用于检测给定的密码和配置文件中的密码是否相符(需要先使用 Config set requirepass "XXXXXX" 命令设置密码)
    • Client List 命令用于返回所有连接到服务器的客户端信息和统计数据
    • Client Kill 命令关闭地址为 ip:port 的客户端
    • Client SetName 命令用于指定当前连接的名称
    • Client GetName 命令用于返回 Client SetName 命令为连接设置的名字。 新创建的连接默认是没有名字的, 对于没有名字的连接, 该命令返回空白

    Key(键)

    • Keys 命令查找所有符合给定模式的 key(如Keys *列举当前数据库中所有 key)
    • Type 命令用于返回 key 所储存的值的类型
    • Exists 命令检查给定 key 是否存在,存在返回 1 ,否则返回 0
    • Del 命令删除给定的一个或多个 key ,不存在的 key 会被忽略
    • Unlink 该命令是 DEL 命令的异步版本, 它可以将删除指定键的操作放在后台线程里面执行, 从而尽可能地避免服务器阻塞(Redis 4.0 新增)
    • Rename 命令将重命名现有 key 为新的 key
    • Expire 命令用于设置 key 的过期时间,key 过期后将自动删除
    • Persist 命令用于移除给定 key 的过期时间,使得 key 永不过期
    • TTL 命令以秒为单位返回 key 的剩余过期时间(当 key不存在时,返回-2, 当key存在但没有设置剩余生存时间时,返回-1)
    • Object 命令允许从内部察看给定 key 的 Redis 对象
    • Dump 命令序列化给定 key ,并返回被序列化的值,使用 Restore 命令可以将这个值反序列化为 Redis 键
    • Restore 命令反序列化给定的序列化值,并将它和给定的 key 关联
    • Move 命令将当前数据库的 key 移动到给定的数据库 db 当中
    • Migrate 命令将 key 原子性地从当前实例传送到目标实例的指定数据库上,一旦传送成功, key 保证会出现在目标实例上,而当前实例上的 key 会被删除

    Database(数据库)

    • Select 命令用于切换到指定的数据库,数据库索引号 index 用数字值指定,以 0 作为起始索引值
    • Dbsize 命令用于返回当前数据库的 key 的数量
    • Flushdb 命令用于清空当前数据库中的所有 key
    • Flushall 命令用于清空整个 Redis 服务器的数据(删除所有数据库的所有 key)
    • SwapDB 命令可以对指定的两个数据库进行互换(Redis 4.0 新增)
    • Save 命令执行一个同步保存操作,将当前 Redis 实例的所有数据快照(snapshot)以 RDB 文件的形式保存到硬盘
    • Bgsave 命令用于在后台异步保存当前数据库的数据到磁盘

    Command(命令行)

    • Command 命令用于返回所有的Redis命令的详细信息,以数组形式展示
    • Command Count 命令用于统计 redis 命令的个数

    Configuration(配置)

    • Config Get 命令用于获取 redis 服务的配置参数
      • 客户端最大连接数 maxclients 默认值是 10000
      • 在服务启动时设置最大连接数为 1000 --> redis-server --maxclients 1000
    • Config Set 命令可以对服务器的当前配置进行修改, 而修改后的配置可能和 redis.conf 文件中所描述的配置不一样
    • Config ReWrite 命令的作用就是通过尽可能少的修改, 将服务器当前所使用的配置记录到 redis.conf 文件中
    • Config ResetStat 命令重置 Info 命令中的某些统计数据(Server, CPU, Memory, Stats)

    Debug & Monitoring(调试及监控)

    • Debug Object 命令是一个调试命令,它不应被客户端所使用
    • Debug Segfault 命令执行一个非法的内存访问从而让 Redis 崩溃,仅在开发时用于 BUG 调试
    • Monitor 命令用于实时打印出 Redis 服务器接收到的命令,调试用

    Server(服务器)

    • Info 命令以一种易于理解和阅读的格式,返回关于 Redis 服务器的各种信息和统计数值
    • Role 命令查看主从实例所属的角色,角色有master, slave, sentinel
    • SlowLog 命令用来记录查询执行时间的日志系统
    • Shutdown 命令使服务器和客户端的连接断开,客户端自动退出。如果持久化被打开, 该命令会保证服务器正常关闭而不丢失任何数据
    • BgRewriteAOF 命令执行一个 AOF 文件重写操作, 重写会创建一个当前 AOF 文件的体积优化版本。
      • 重写操作只会在没有其他持久化工作在后台执行时被触发
      • 即使 BgRewriteAOF 执行失败,也不会有任何数据丢失,因为旧的 AOF 文件在 BgRewriteAOF 成功之前不会被修改
      • 从 Redis 2.4 开始, AOF 重写由 Redis 自行触发, BgRewriteAOF 仅仅用于手动触发重写操作
    • SlaveOf 命令用于在 Redis 运行时动态地修改复制(replication)功能的行为。
      • 通过执行 SlaveOf 命令,可以将当前服务器转变为指定服务器的从属服务器(slave server)。
      • 如果当前服务器已经是某个主服务器(master server)的从属服务器,那么执行该命令将使当前服务器停止对旧主服务器的同步,丢弃旧数据集,转而开始对新主服务器进行同步。
      • 另外,对一个从属服务器执行命令 SlaveOf no one 将使得这个从属服务器关闭复制功能,并从从属服务器转变回主服务器,原来同步所得的数据集不会被丢弃。利用这个特性,可以在主服务器失败的时候,将从属服务器用作新的主服务器,从而实现无间断运行。
    • Sync 命令用于复制功能(replication)的内部命令
    • Memory 命令可以用于视察内存使用情况,并进行相应的内存管理操作(Redis 4.0 新增, 可用Memory help查看具体用法)

    Other topic(其他主题)

    • 事务: MULTI 标记一个事务块的开始;Discard 取消事务,放弃执行事务块内的所有命令;EXEC 执行所有事务块内的命令;Watch 监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。
    • 模块系统: Redis 4.0 发生的最大变化就是加入了模块系统, 这个系统可以让用户通过自己编写的代码来扩展和实现 Redis 本身并不具备的功能。
    • 流:Redis Stream 是 Redis 5.0 新增加的数据结构,主要用于消息队列(MQ,Message Queue)。Redis 本身是有一个 Redis 发布订阅 (pub/sub) 来实现消息队列的功能,但它有个缺点就是消息无法持久化,如果出现网络断开、Redis 宕机等,消息就会被丢弃。简单来说发布订阅 (pub/sub) 可以分发消息,但无法记录历史消息。而 Redis Stream 提供了消息的持久化和主备复制功能,可以让任何客户端访问任何时刻的数据,并且能记住每一个客户端的访问位置,还能保证消息不丢失。
    • Redis 脚本使用 Lua 解释器来执行脚本。 Redis 2.6 版本通过内嵌支持 Lua 环境。执行脚本的常用命令为 Eval
    • Redis 提供了4种不同级别的持久化方式:RDB (Redis Database), AOF (Append Only File), AOF & RDB, No persistence
    • redis-benchmark 命令用于做性能测试
    • Redis 有两种类型分区:范围分区 和 哈希分区
  • 相关阅读:
    文件系统
    用户
    Kali Linux命令(3)
    Kali Linux命令(2)
    Kali Linux命令(1)
    文件上传测试 bugku
    Seay源代码审计系统
    实验吧 BrainFuck
    zigbee学习之路(十一):看门狗
    zigbee学习之路(十):串口(接收)
  • 原文地址:https://www.cnblogs.com/makesense/p/7762990.html
Copyright © 2011-2022 走看看