• 007-Redi-命令-脚本命令、链接命令、服务器命令、事务、HyperLogLog


    Redis 脚本命令

    下表列出了 redis 脚本常用命令:

    序号命令及描述
    1 EVAL script numkeys key [key ...] arg [arg ...] 
    执行 Lua 脚本。
    2 EVALSHA sha1 numkeys key [key ...] arg [arg ...] 
    执行 Lua 脚本。
    3 SCRIPT EXISTS script [script ...] 
    查看指定的脚本是否已经被保存在缓存当中。
    4 SCRIPT FLUSH 
    从脚本缓存中移除所有脚本。
    5 SCRIPT KILL 
    杀死当前正在运行的 Lua 脚本。
    6 SCRIPT LOAD script 
    将脚本 script 添加到脚本缓存中,但并不立即执行这个脚本。

    Redis 连接命令

    下表列出了 redis 连接的基本命令:

    序号命令及描述
    1 AUTH password 
    验证密码是否正确
    2 ECHO message 
    打印字符串
    3 PING 
    查看服务是否运行
    4 QUIT 
    关闭当前连接
    5 SELECT index 
    切换到指定的数据库

    Redis 服务器命令

    下表列出了 redis 服务器的相关命令:

    序号命令及描述
    1 BGREWRITEAOF 
    异步执行一个 AOF(AppendOnly File) 文件重写操作
    2 BGSAVE 
    在后台异步保存当前数据库的数据到磁盘
    3 CLIENT KILL [ip:port] [ID client-id] 
    关闭客户端连接
    4 CLIENT LIST 
    获取连接到服务器的客户端连接列表
    5 CLIENT GETNAME 
    获取连接的名称
    6 CLIENT PAUSE timeout 
    在指定时间内终止运行来自客户端的命令
    7 CLIENT SETNAME connection-name 
    设置当前连接的名称
    8 CLUSTER SLOTS 
    获取集群节点的映射数组
    9 COMMAND 
    获取 Redis 命令详情数组
    10 COMMAND COUNT 
    获取 Redis 命令总数
    11 COMMAND GETKEYS 
    获取给定命令的所有键
    12 TIME 
    返回当前服务器时间
    13 COMMAND INFO command-name [command-name ...] 
    获取指定 Redis 命令描述的数组
    14 CONFIG GET parameter 
    获取指定配置参数的值
    15 CONFIG REWRITE 
    对启动 Redis 服务器时所指定的 redis.conf 配置文件进行改写
    16 CONFIG SET parameter value 
    修改 redis 配置参数,无需重启
    17 CONFIG RESETSTAT 
    重置 INFO 命令中的某些统计数据
    18 DBSIZE 
    返回当前数据库的 key 的数量
    19 DEBUG OBJECT key 
    获取 key 的调试信息
    20 DEBUG SEGFAULT 
    让 Redis 服务崩溃
    21 FLUSHALL 
    删除所有数据库的所有key
    22 FLUSHDB 
    删除当前数据库的所有key
    23 INFO [section] 
    获取 Redis 服务器的各种信息和统计数值
    24 LASTSAVE 
    返回最近一次 Redis 成功将数据保存到磁盘上的时间,以 UNIX 时间戳格式表示
    25 MONITOR 
    实时打印出 Redis 服务器接收到的命令,调试用
    26 ROLE 
    返回主从实例所属的角色
    27 SAVE 
    同步保存数据到硬盘
    28 SHUTDOWN [NOSAVE] [SAVE] 
    异步保存数据到硬盘,并关闭服务器
    29 SLAVEOF host port 
    将当前服务器转变为指定服务器的从属服务器(slave server)
    30 SLOWLOG subcommand [argument] 
    管理 redis 的慢日志
    31 SYNC 
    用于复制功能(replication)的内部命令

    Redis 事务

    Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证:

    • 批量操作在发送 EXEC 命令前被放入队列缓存。
    • 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。
    • 在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。

    一个事务从开始到执行会经历以下三个阶段:

    • 开始事务。
    • 命令入队。
    • 执行事务。

    Redis 事务命令

    下表列出了 redis 事务的相关命令:

    序号命令及描述
    1 DISCARD 
    取消事务,放弃执行事务块内的所有命令。
    2 EXEC 
    执行所有事务块内的命令。
    3 MULTI 
    标记一个事务块的开始。
    4 UNWATCH 
    取消 WATCH 命令对所有 key 的监视。
    5 WATCH key [key ...] 
    监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。

    Redis HyperLogLog

    Redis 在 2.8.9 版本添加了 HyperLogLog 结构。

    Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。

    在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。

    但是,因为 HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog 不能像集合那样,返回输入的各个元素。


    什么是基数?

    比如数据集 {1, 3, 5, 7, 5, 7, 8}, 那么这个数据集的基数集为 {1, 3, 5 ,7, 8}, 基数(不重复元素)为5。 基数估计就是在误差可接受的范围内,快速计算基数。

    Redis HyperLogLog 命令

    下表列出了 redis HyperLogLog 的基本命令:

    序号命令及描述
    1 PFADD key element [element ...] 
    添加指定元素到 HyperLogLog 中。
    2 PFCOUNT key [key ...] 
    返回给定 HyperLogLog 的基数估算值。
    3 PFMERGE destkey sourcekey [sourcekey ...] 
    将多个 HyperLogLog 合并为一个 HyperLogLog
  • 相关阅读:
    教你透彻了解红黑树(转)
    算法描述伪代码
    B 树、B+ 树、B* 树
    Java四种引用类型
    Java程序以后台方式在Linux上运行(nohup命令)
    java 文档注释
    Reactor模式和NIO
    Immutable模式与string类的实现
    mina 入门
    索引和优化查询
  • 原文地址:https://www.cnblogs.com/bjlhx/p/9966413.html
Copyright © 2020-2023  润新知