redis
2017-02-10 08:34:47 180 举报
AI智能生成
Redis是一个开源的,内存中的数据结构存储系统,可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串、哈希表、列表、集合、有序集合等。Redis具有高性能、高可用性和丰富的特性集,适用于各种应用场景。它具有快速的数据读写能力,支持数据的持久化和复制,以及事务、管道、发布订阅等功能。Redis还提供了简单的命令行界面和多种编程语言的客户端库,方便开发者进行操作和管理。总之,Redis是一个强大而灵活的工具,可以帮助用户解决各种数据存储和处理问题。
作者其他创作
大纲/内容
redis脚本
Redis Eval 命令
EVAL script numkeys key [key ...] arg [arg ...]
Redis Eval 命令使用 Lua 解释器执行脚本。
Redis Evalsha 命令
EVALSHA sha1 numkeys key [key ...] arg [arg ...]
Redis Evalsha 命令根据给定的 sha1 校验码,执行缓存在服务器中的脚本。
Redis Script Exists 命令
SCRIPT EXISTS script [script ...]
Redis Script Exists 命令用于校验指定的脚本是否已经被保存在缓存当中。
Redis Script Flush 命令
SCRIPT FLUSH
Redis Script Flush 命令用于清除所有 Lua 脚本缓存。
Redis Script kill 命令
SCRIPT KILL
Redis Script kill 命令用于杀死当前正在运行的 Lua 脚本,当且仅当这个脚本没有执行过任何写操作时,这个命令才生效。
这个命令主要用于终止运行时间过长的脚本,比如一个因为 BUG 而发生无限循环的脚本。
SCRIPT KILL 执行之后,当前正在运行的脚本会被杀死,执行这个脚本的客户端会从 EVAL 命令的阻塞当中退出,并收到一个错误作为返回值。
Redis Script Load 命令
SCRIPT LOAD script
Redis Script Load 命令用于将脚本 script 添加到脚本缓存中,但并不立即执行这个脚本。
EVAL 命令也会将脚本添加到脚本缓存中,但是它会立即对输入的脚本进行求值。
如果给定的脚本已经在缓存里面了,那么不执行任何操作。
在脚本被加入到缓存之后,通过 EVALSHA 命令,可以使用脚本的 SHA1 校验和来调用这个脚本。
脚本可以在缓存中保留无限长的时间,直到执行 SCRIPT FLUSH 为止。
关于使用 Redis 对 Lua 脚本进行求值的更多信息,请参见 EVAL 命令。
Redis 连接
Redis Auth 命令
AUTH PASSWORD
Redis Auth 命令用于检测给定的密码和配置文件中的密码是否相符。
Redis Echo 命令
ECHO message
Redis Echo 命令用于打印给定的字符串。
Redis Ping 命令
PING
Redis Ping 命令使用客户端向 Redis 服务器发送一个 PING ,如果服务器运作正常的话,会返回一个 PONG 。
通常用于测试与服务器的连接是否仍然生效,或者用于测量延迟值。
Redis Quit 命令
QUIT
Redis Quit 命令用于关闭与当前客户端与redis服务的连接。
一旦所有等待中的回复(如果有的话)顺利写入到客户端,连接就会被关闭。
Redis Select 命令
SELECT index
Redis Select 命令用于切换到指定的数据库,数据库索引号 index 用数字值指定,以 0 作为起始索引值。
Redis 服务器
Redis Bgrewriteaof 命令
BGREWRITEAOF
Redis Bgrewriteaof 命令用于异步执行一个 AOF(AppendOnly File) 文件重写操作。重写会创建一个当前 AOF 文件的体积优化版本。
即使 Bgrewriteaof 执行失败,也不会有任何数据丢失,因为旧的 AOF 文件在 Bgrewriteaof 成功之前不会被修改。
注意:从 Redis 2.4 开始, AOF 重写由 Redis 自行触发, BGREWRITEAOF 仅仅用于手动触发重写操作。
Redis Bgsave 命令
BGSAVE
Redis Bgsave 命令用于在后台异步保存当前数据库的数据到磁盘。
BGSAVE 命令执行之后立即返回 OK ,然后 Redis fork 出一个新子进程,原来的 Redis 进程(父进程)继续处理客户端请求,而子进程则负责将数据保存到磁盘,然后退出。
Redis Client Kill 命令
CLIENT KILL ip:port
Redis Client Kill 命令用于关闭客户端连接。
Redis Client List 命令
CLIENT LIST
Redis Client List 命令用于返回所有连接到服务器的客户端信息和统计数据。
Redis Client Getname 命令
CLIENT GETNAME
Redis Client Getname 命令用于返回 CLIENT SETNAME 命令为连接设置的名字。 因为新创建的连接默认是没有名字的, 对于没有名字的连接, CLIENT GETNAME 返回空白回复。
Redis Client Pause 命令
CLIENT PAUSE timeout
Redis Client Pause 命令用于阻塞客户端命令一段时间(以毫秒计)。
Redis Client Setname 命令
CLIENT SETNAME connection-name
Redis Client Setname 命令用于指定当前连接的名称。
这个名字会显示在 CLIENT LIST 命令的结果中, 用于识别当前正在与服务器进行连接的客户端。
这个名字会显示在 CLIENT LIST 命令的结果中, 用于识别当前正在与服务器进行连接的客户端。
Redis高级
redis的安装与配置
redis支持的数据类型
String
hash
list
set
zset
HyperLogLog
Redis Pfadd 命令
PFADD key element [element ...]
Redis Pfadd 命令将所有元素参数添加到 HyperLogLog 数据结构中。
Redis Pfcount 命令
PFCOUNT key [key ...]
Redis Pfcount 命令返回给定 HyperLogLog 的基数估算值。
Redis Pgmerge 命令
PFMERGE destkey sourcekey [sourcekey ...]
Redis Pgmerge 命令将多个 HyperLogLog 合并为一个 HyperLogLog ,合并后的 HyperLogLog 的基数估算值是通过对所有 给定 HyperLogLog 进行并集计算得出的。
redis发布订阅
Redis Psubscribe 命令
PSUBSCRIBE pattern [pattern ...]
Redis Psubscribe 命令订阅一个或多个符合给定模式的频道。
每个模式以 * 作为匹配符,比如 it* 匹配所有以 it 开头的频道( it.news 、 it.blog 、 it.tweets 等等)。 news.* 匹配所有以 news. 开头的频道( news.it 、 news.global.today 等等),诸如此类。
Redis Pubsub
PUBSUB <subcommand> [argument [argument ...]]
Redis Pubsub 命令用于查看订阅与发布系统状态,它由数个不同格式的子命令组成。
Redis Publish 命令
PUBLISH channel message
Redis Publish 命令用于将信息发送到指定的频道。
Redis Punsubscribe 命令
PUNSUBSCRIBE [pattern [pattern ...]]
Redis Punsubscribe 命令用于退订所有给定模式的频道。
Redis Subscribe 命令
SUBSCRIBE channel [channel ...]
Redis Subscribe 命令用于订阅给定的一个或多个频道的信息。。
Redis Unsubscribe 命令
UNSUBSCRIBE channel [channel ...]
Redis Unsubscribe 命令用于退订给定的一个或多个频道的信息。
Redis 事务
事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。
事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。
Redis 事务的经历过程
开始事务
命令入队
执行事务
EXEC
参数说明:
script: 参数是一段 Lua 5.1 脚本程序。脚本不必(也不应该)定义为一个 Lua 函数。
numkeys: 用于指定键名参数的个数。
key [key ...]: 从 EVAL 的第三个参数开始算起,表示在脚本中所用到的那些 Redis 键(key),这些键名参数可以在 Lua 中通过全局变量 KEYS 数组,用 1 为基址的形式访问( KEYS[1] , KEYS[2] ,以此类推)。
arg [arg ...]: 附加参数,在 Lua 中通过全局变量 ARGV 数组访问,访问的形式和 KEYS 变量类似( ARGV[1] 、 ARGV[2] ,诸如此类)。
redis基础
启动redis
本地redis连接
启动 redis 客户端,打开终端并输入命令 redis-cli。该命令会连接本地的 redis 服务。
输入ping,检测 redis 服务是否启动。
异地redis连接
如果需要在远程 redis 服务上执行命令,同样我们使用的也是 redis-cli 命令。
语法:redis-cli -h host -p port -a password
-h host 连接地址
-p port 端口
-a password 密码
redis键
COMMAND KEY_NAME
Redis DEL 命令
DEL KEY_NAME
Redis DEL 命令用于删除已存在的键。不存在的 key 会被忽略。
Redis Dump 命令
DUMP KEY_NAME
Redis DUMP 命令用于序列化给定 key ,并返回被序列化的值。
Redis EXISTS 命令
EXISTS KEY_NAME
Redis EXISTS 命令用于检查给定 key 是否存在。
Redis EXPIRE seconds 命令
EXPIRE KEY_NAME TIME_IN_SECONDS
Redis Expire 命令用于设置 key 的过期时间。key 过期后将不再可用。
语法
Redis PEXPIREAT timestamp 命令
Expireat KEY_NAME TIME_IN_UNIX_TIMESTAMP
Redis Expireat 命令用于以 UNIX 时间戳(unix timestamp)格式设置 key 的过期时间。key 过期后将不再可用。
Redis EXPIRE milliseconds 命令
PEXPIREAT KEY_NAME TIME_IN_MILLISECONDS_IN_UNIX_TIMESTAMP
Redis PEXPIREAT 命令用于设置 key 的过期时间,以毫秒计。key 过期后将不再可用。
PEXPIREAT key milliseconds-timestamp 命令
PEXPIREAT KEY_NAME TIME_IN_MILLISECONDS_IN_UNIX_TIMESTAMP
Redis PEXPIREAT 命令用于 UNIX 时间戳(unix timestamp)格式设置 key 的过期时间,以毫秒计。key 过期后将不再可用。
Redis Keys 命令
KEYS PATTERN
Redis Keys 命令用于查找所有符合给定模式 pattern 的 key 。
Redis Move 命令
MOVE KEY_NAME DESTINATION_DATABASE
Redis MOVE 命令用于将当前数据库的 key 移动到给定的数据库 db 当中。
Redis PERSIST 命令
PERSIST KEY_NAME
Redis PERSIST 命令用于移除给定 key 的过期时间,使得 key 永不过期。
Redis Pttl 命令
PTTL KEY_NAME
Redis Pttl 命令以毫秒为单位返回 key 的剩余过期时间。
Redis TTL 命令
TTL KEY_NAME
Redis TTL 命令以秒为单位返回 key 的剩余过期时间。
Redis RANDOMKEY 命令
RANDOMKEY
Redis RANDOMKEY 命令从当前数据库中随机返回一个 key 。
Redis Rename 命令
RENAME OLD_KEY_NAME NEW_KEY_NAME
Redis Rename 命令用于修改 key 的名称 。
Redis Renamenx 命令
RENAMENX OLD_KEY_NAME NEW_KEY_NAME
Redis Renamenx 命令用于在新的 key 不存在时修改 key 的名称 。
Redis Type 命令
TYPE KEY_NAME
Redis Type 命令用于返回 key 所储存的值的类型。
0 条评论
下一页