前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis开发与运维学习笔记---(3)

Redis开发与运维学习笔记---(3)

作者头像
AsiaYe
发布2020-03-31 15:28:47
3940
发布2020-03-31 15:28:47
举报
文章被收录于专栏:DBA随笔DBA随笔
Redis-cli详解

Redis提供了redis-cli、redis-server、redis-benchmart等shell工具,今天对这些工具做下介绍。

redis-cli是最常用的redis工具。该工具我们最常使用的参数是-p和-h参数,其中-p参数后面跟端口,-h参数后面跟主机名称。当然,这两个参数可以缺省,默认是6379和127.0.0.1,如下:

代码语言:javascript
复制
[root@VM_48_10_centos ~]# redis-cli
127.0.0.1:6379> exit
[root@VM_48_10_centos ~]# redis-cli -p 6379 -h 127.0.0.1
127.0.0.1:6379> exit

这里对其他的参数做一下说明:

-r

-r(repeat)选项代表将命令执行多次

代码语言:javascript
复制
[root@VM_48_10_centos ~]# redis-cli -r 3 ping
PONG
PONG
PONG

-i

-i(interval)选项代表每隔几秒执行一次命令,但是-i选项必须和-r选项一起使用,下面每隔1s执行一次ping命令:

代码语言:javascript
复制
[root@VM_48_10_centos ~]# redis-cli -r 3 -i 2 ping
PONG
PONG
PONG

其中,单位为秒s,不支持毫秒的单位,如果想用毫秒,则需要使用对应的小数表示。

-x

-x选项表示从标准输入读取数据作为redis-cli的最后一个参数,例如下面的操作会将字符串world作为set hello的值:

echo "world"|redis-cli -x set hello

-c

-c(cluster)选项是连接redis cluster节点时需要用的。该选项可以防止move和ask异常

-a

如果redis配置了密码,则可以使用-a选项

--slave

slave选项是把当前客户端模拟成当前redis的从节点,可以用来获取当前redis节点的更新操作,是复制相关的参数。这个特点是比较棒的,和MySQL不一样的是不需要搭建其他的服务器,直接用客户端就能模拟从节点,从而获取当前主节点上的操作,就像show processlist抓取的当前执行SQL一样。

--rdb

该选项会请求redis实例生成并发送rdb持久化文件,保存在本地,可以用它作为持久化文件的定期备份。

--pipe

--pipe选项用于将命令封装成Redis通信协议定义的数据格式,批量发送给redis执行。

--bigkeys

该选项使用scan命令对redis的键进行采样,从中找到内存占用比较大的键值,从而排除系统的可能瓶颈

--eval

该选项用于执行lua脚本。

--latency

该参数有3个选项,分别是--latency,--latency-history以及--latency-dist,其中:

--latency选项可以测试客户端到目标redis的网络延迟,但是只输出一条信息

--latency-history测试网络延迟,可以分段测试延迟,每15s输出一次

--latency-dist会使用统计表的形式从控制台输出延迟统计信息

--stat

该选项可以试试获取Redis的重要统计信息,虽然info命令中的统计信息更全,但是能够实时看到一些增量数据,对于redis的运维还是有一定帮助。

代码语言:javascript
复制
[root@VM_48_10_centos ~]# redis-cli --stat
------- data ------ --------------------- load -------------------- - child -
keys       mem      clients blocked requests            connections          
4          826.52K  1       0       3150 (+0)           112         
4          826.52K  1       0       3151 (+1)           112         
4          826.52K  1       0       3152 (+1)           112         
4          826.52K  1       0       3153 (+1)           112         
4          826.52K  1       0       3154 (+1)           112

Redis-Server详解

redis-server是用来启动redis服务的,常用的启动方式有下面几种:

1、直接启动:redis-server即可

2、增加配置参数:

redis-server --configkey1 --configValue .......

例如:

redis-server --port 6380

3、配置文件启动

redis-server /dir/redis.conf

除了启动redis之外,还有一个选项--test-memory,该选项可以检测当前操作系统能否稳定分配执行容量的内存给redis,通过这种检测可以有效避免因为内存问题造成的redis崩溃,举例:

redis-server --test-memory 1024

检测是否可以分配1G内存给redis

整个内存检测时间比较长,当输入passed this test时说明检测完毕。

PipeLine概念

上一节中,我们知道redis执行一条命令分为4个步骤:

发送命令、命令排队、执行命令、返回结果。

我们把发送命令+返回结果的时间成为往返时间RTT,redis中部分数据结构提供了mget,mset等批量执行的命令,有效节约了时间,但是大部分命令是不支持批量操作的,这样势必会增加耗时。而PipeLine机制能够改善这类问题。

Pipeline将一组Redis命令进行组装,通过一次RTT传给Redis,再将这组命令的执行结果按照顺序返回给客户端,有效的节约了时间。

redis-cli的--pipe参数实际上就是使用了Pipeline的机制。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA随笔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档