redis学习教程四《管理、备份、客户端连接》
redis学习教程四《管理、备份、客户端连接》
Redis服务器命令
下表列出了与Redis服务器相关的一些基本命令。
序号 | 命令 | 说明 |
---|---|---|
1 | BGREWRITEAOF | 异步重写仅追加的文件 |
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 | 提取键给出一个完整的Redis的命令 |
12 | BGSAVE | 将数据集异步保存到磁盘 |
13 | COMMAND INFO command-name [command-name …] | 获取特定Redis命令详细信息的数组 |
14 | CONFIG GET parameter | 获取配置参数的值 |
15 | CONFIG REWRITE | 使用内存中配置来重写配置文件 |
16 | CONFIG SET parameter value | 将配置参数设置为给定值 |
17 | CONFIG RESETSTAT | 重置由INFO返回的统计信息 |
18 | DBSIZE | 返回所选数据库中的键数量 |
19 | DEBUG OBJECT key | 获取有关键的调试信息 |
20 | DEBUG SEGFAULT | 使服务器崩溃 |
21 | FLUSHALL | 从所有数据库中删除所有键 |
22 | FLUSHDB | 删除当前数据库中的所有键 |
23 | INFO [section] | 获取有关服务器的信息和统计信息 |
24 | LASTSAVE | 获取上次成功保存到磁盘的UNIX时间戳 |
25 | MONITOR | 监听服务器实时接收的所有请求 |
26 | ROLE | 返回实例在复制上下文中的角色 |
27 | SAVE | 将数据集同步保存到磁盘 |
28 | SHUTDOWN [NOSAVE] [SAVE] | 将数据集同步保存到磁盘,然后关闭服务器 |
29 | SLAVEOF host port | 使服务器成为另一个实例的从属,或将其提升作为主服务器 |
30 | SLOWLOG subcommand [argument] | 管理Redis慢查询日志 |
31 | SYNC | 用于复制的命令 |
32 | TIME | 返回当前服务器的时间 |
二:Redis备份
Redis数据库可以使用安全的方案,使得进行连接的任何客户端在执行命令之前都需要进行身份验证。要保护Redis安全,需要在配置文件中设置密码。
示例
下面的示例显示了保护Redis实例的步骤。
127.0.0.1:6379> CONFIG get requirepass
1) "requirepass"
2) ""
默认情况下,此属性为空,这表示还没有为此实例设置密码。您可以通过执行以下命令更改此属性。
127.0.0.1:6379> CONFIG set requirepass "yiibai"
OK
127.0.0.1:6379> CONFIG get requirepass
1) "requirepass"
2) "yiibai" //Shell
设置密码后,如果任何客户端运行命令而不进行身份验证,则会返回一个(error) NOAUTH Authentication required.的错误信息。 因此,客户端需要使用AUTH命令来验证。
语法
以下是AUTH命令的基本语法。
127.0.0.1:6379> AUTH password
//Shell
示例
127.0.0.1:6379> AUTH "yiibai"
OK
127.0.0.1:6379> SET mykey "Test value"
OK
127.0.0.1:6379> GET mykey
"Test value"
三: 客户端连接
Redis在配置的监听TCP端口和Unix套接字上等待和接受客户端的连接(如果已启用)。 当接受新的客户端连接时,执行以下操作 -
- 由于Redis使用复用和非阻塞
I/O
,因此客户端套接字处于非阻塞状态。 - 设置
TCP_NODELAY
选项是为了确保连接不延迟。 - 创建可读文件事件,以便Redis能够在套接字上读取新数据时收集客户端查询。
最大客户数
在Redis配置文件(redis.conf
)中,有一个名称为maxclients
的属性,它描述了可以连接到Redis的客户端的最大数量。
以下是命令的基本语法。
127.0.0.1:6379> config get maxclients
1) "maxclients"
2) "3984"
//Shell
默认情况下,此属性设置为10000
(取决于操作系统的文件描述符限制的最大数量),但您可以更改此属性。
示例
在以下示例中,我们已将客户端的最大数目设置为100000
,并启动服务器。
yiibai@ubuntu:~$ redis-server --maxclients 100000
//Shell
客户端命令
编号 | 命令 | 描述 |
---|---|---|
1 | CLIENT LIST | 返回连接到Redis服务器的客户端列表 |
2 | CLIENT SETNAME | 为当前连接分配/设置新的名称 |
3 | CLIENT GETNAME | 返回由CLIENT SETNAME 设置的当前连接的名称 |
4 | CLIENT PAUSE | 这是一个连接控制命令,能够将所有Redis客户端按指定的时间量(以毫秒为单位)挂起 |
5 | CLIENT KILL | 此命令关闭指定的客户端连接。 |
注:关闭服务器
redis-cli进入redis客户端 然后shutdown即可 提示需要验证用户 用AUTH password验证之后关闭即可
redis学习教程四《管理、备份、客户端连接》的更多相关文章
- redis学习教程三《发送订阅、事务、连接》
redis学习教程三<发送订阅.事务.连接> 一:发送订阅 Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息.Redi ...
- redis学习教程五《管道、分区》
redis学习教程五<管道.分区> 一:管道 Redis是一个TCP服务器,支持请求/响应协议. 在Redis中,请求通过以下步骤完成: 客户端向服务器发送查询,并从套接字读取,通常以阻 ...
- redis学习教程二《四大数据类型》
redis学习教程二<四大数据类型> 四大数据类型包括:字符串 哈希 列表 集合一 : Redis字符串 Redis字符串命令用于管理Redis中的字符串 ...
- RMAN详细教程(四):备份脚本实战操作
RMAN详细教程(一):基本命令代码 RMAN详细教程(二):备份.检查.维护.恢复 RMAN详细教程(三):备份脚本的组件和注释 RMAN详细教程(四):备份脚本实战操作 1.为了安全起见,先将数据 ...
- 分布式缓存技术redis学习(四)——redis高级应用(集群搭建、集群分区原理、集群操作)
本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...
- 【Redis】Redis学习(四) Redis Sentinel模式详解
主从模式的弊端就是不具备高可用性,当master挂掉以后,Redis将不能再对外提供写入操作,因此sentinel应运而生. Redis Sentinel是Redis官方提供的集群管理工具,主要有三大 ...
- redis学习(四)
一.Redis 键(key) 1.Redis 键命令用于管理 redis 的键. 2.Redis 键命令的基本语法如下:redis 127.0.0.1:6379> COMMAND KEY_NAM ...
- redis学习--的持久化数据备份(RDB和AOF)
接上一篇:安装window下的redis,redis可视化管理工具(Redis Desktop Manager)安装,基础使用,实例化项目 一.dump.rdb文件是怎么生成的 二.什么是redis持 ...
- redis学习教程之一基本命令
参阅redis中文的 互动教程(interactive tutorial)来学习的. 目录: 全局操作 get get incr 自增 del 删除 expire 定时 list 队列 set ...
随机推荐
- el-input限制只能输入数字(开发小记)
输入框中限制通常有三种处理方法 第一种:设置type属性(不推荐) 设置type属性为number,text等等,此方法输入框的后面会有不必要样式出现 <el-input type=" ...
- 死磕以太坊源码分析之MPT树-下
死磕以太坊源码分析之MPT树-下 文章以及资料请查看:https://github.com/blockchainGuide/ 上篇主要介绍了以太坊中的MPT树的原理,这篇主要会对MPT树涉及的源码进行 ...
- flume将数据写入各个组件
一.flume集成hdfs,将数据写入到hdfs a1.sources = r1 a1.sinks = k1 a1.channels = c ...
- tf.lin_space
.lin_spae{ start, stop, num, name=None } start:张量(float32,或者float64类型) stop:张量(和start相同) num:张量(int3 ...
- vue的favicon.ico的不能修改替换问题解决。
vue的favicon.ico解决办法: 暴力替换图片: <link rel="icon" href="favicon.ico" type="i ...
- 深入了解MySQL主从复制的原理
欢迎微信关注「SH的全栈笔记」 0. 主从复制 首先主从复制是什么?简单来说是让一台MySQL服务器去复制另一台MySQL的数据,使两个服务器的数据保持一致. 这种方式与Redis的主从复制的思路没有 ...
- node.js 爬取图片
/** * _ooOoo_ * o8888888o * 88" . "88 * (| -_- |) * O\ = /O * ____/`---'\____ * . ' \\| |/ ...
- VsCode/Pycharm配合python env 使用
前言 用惯了vscode,这几天试了一下pycharm,还是回来了. pycharm一个好处就是python env 环境支持的比较好, vscode虽然也支持但是要改一些东西 env的使用查看我的上 ...
- 【Docker】CentOS7 上无网络情况下安装
自建虚拟机,但是连接不上网络,只能通过下载rpm包进行安装docker 环境:CentOS 7.3.1611 x64 rpm镜像下载地址用的阿里的https://mirrors.aliyun.com/ ...
- 【Linux】大于2T的磁盘怎么分区?
环境CentOS7.1 2.9t磁盘 fdisk 只能分区小于2t的磁盘,大于2t的话,就要用到parted 1,将磁盘上原有的分区删除掉: 进入:#parted /dev/sdb 查看:(par ...