【redis】redis-cli命令行工具的使用

redis-cli命令行工具是一个功能强大的Redis客户端,它允许用户与Redis数据库进行交互和管理。

以下是一些常用参数的使用说明:

基本连接参数

  • -h, --host <hostname>:指定要连接的Redis服务器的主机名或IP地址。如果未指定,则默认为127.0.0.1(即本地主机)。

  • -p, --port <port>:指定要连接的Redis服务器的端口号。如果未指定,则默认为6379,这是Redis的默认端口。

  • -a, --password <password>:指定连接Redis服务器所需的密码。如果Redis服务器设置了密码保护,则需要使用此参数来提供密码。

  • -n, --db <db>:指定要连接的Redis数据库编号。Redis默认提供16个数据库(编号从0到15),通过此参数可以选择要连接的数据库。

基本连接方式

如果你在本地运行Redis服务器,且使用默认端口(6379),可以在终端中直接输入redis-cli来连接。

例如:

$ redis-cli
127.0.0.1:6379>

连接远程服务器

如果Redis服务器在远程主机上,你需要指定主机名或IP地址以及端口号。

例如,假设远程Redis服务器的IP地址是192.168.1.100,端口为6379,你可以使用以下命令连接:

$ redis-cli -h 192.168.1.100 -p 6379
192.168.1.100:6379>

其中-h参数用于指定主机(host),-p参数用于指定端口(port)。

带密码连接

如果Redis服务器设置了密码保护,你可以使用-a参数来提供密码。例如,密码为mypassword,连接命令如下:

$ redis-cli -h 192.168.1.100 -p 6379 -a mypassword
192.168.1.100:6379>

不过这种方式在命令行历史记录中会显示密码,存在一定的安全风险。

更安全的做法是先通过不带密码的方式连接,然后使用AUTH命令进行认证。例如:

$ redis - cli -h 192.168.1.100 -p 6379
192.168.1.100:6379> AUTH mypassword
OK

操作与格式参数

  • -r, --repeat <count>:指定要重复执行命令的次数。这个参数可以与-i参数一起使用,以实现定时重复执行命令的功能。

  • -i, --interval <seconds>:设置命令执行的间隔时间(以秒为单位)。这个参数通常与-r参数一起使用,用于控制命令的重复执行速率。

  • -x:从标准输入(stdin)读取最后一个参数。这允许用户从管道或其他输入源中读取数据,并将其作为命令的参数传递给redis-cli。

  • --raw / --no-raw:控制命令输出的格式。使用–raw参数可以以原始格式打印Redis的返回结果,包括数据类型和值。而–no-raw则恢复为默认的输出格式。

  • --csv:以CSV(逗号分隔值)格式打印返回结果。这有助于将Redis的输出导入到电子表格或其他支持CSV格式的应用程序中。

-r参数重复执行命令

含义:-r参数用于指定命令执行的次数。这在需要多次执行相同命令时非常有用,例如对某个操作进行压力测试或者批量插入数据等情况。

示例:假设要将键my_r的值设置为一个自增的数字,重复执行5次。可以使用以下命令:

$ redis-cli -r 5 incr my_r
(integer) 1
(integer) 2
(integer) 3
(integer) 4
(integer) 5

-i参数指定命令间隔时间

含义:-i参数用于指定每次命令执行之间的间隔时间,单位是秒。它通常与-r参数一起使用,当需要以一定的时间间隔多次执行命令时可以用到。

示例:以下命令会每隔1秒执行一次incr my_i命令,共执行5次。

$ redis-cli -r 5 -i 1 incr my_i
(integer) 1
(integer) 2
(integer) 3
(integer) 4
(integer) 5

-x参数读取标准输入

含义:用于从标准输入(stdin)读取数据作为最后一个参数的值。这在处理比较长或复杂的数据(如大型字符串、二进制数据等)时非常有用,使得可以通过管道或其他方式将数据传递给redis-cli命令,而不是直接在命令行中输入冗长的数据。

$ echo hello | redis-cli -x set hi
OK

$ redis-cli get hi
"hello\n"

echo会将hello输出到标准输出,通过管道|将标准输出的内容作为set命令的值(由于-x参数的存在),set命令会将这个值存储到键hi中。

–raw/–no-raw控制命令输出格式

含义:用于以原始格式(raw format)显示数据。默认情况下在输出一些数据类型(如哈希、列表、集合等)时,会对它们进行格式化,以便于阅读。但是,在某些情况下,你可能希望获取数据的确切字节表示,或者将数据直接用于脚本处理,这时就可以使用–raw选项。

$ redis-cli hgetall student_scores
1) "Alice"
2) "95"
3) "Bob"
4) "85"
5) "Charlie"
6) "100"

$ redis-cli --raw hgetall student_scores
Alice
95
Bob
85
Charlie
100

$ redis-cli --no-raw hgetall student_scores
1) "Alice"
2) "95"
3) "Bob"
4) "85"
5) "Charlie"
6) "100"

–csv以CSV格式打印返回结果

含义:将命令的输出格式化为CSV(逗号分隔值)格式。CSV是一种常用的数据交换格式,特别适用于在电子表格软件(如 Microsoft Excel、Google Sheets)或数据库系统之间导入和导出数据。

$ redis-cli --csv hgetall student_scores
"Alice","95","Bob","85","Charlie","100"

高级功能参数

  • --scan <pattern>:执行SCAN命令以遍历Redis中的所有键。可以配合COUNT参数来控制每次迭代的数量。与KEYS命令相比,SCAN命令是增量式的,不会阻塞Redis服务器。

  • --bigkeys:在Redis服务器上执行SCAN命令以查找大键。这有助于分析Redis的内存使用情况,并识别出占用大量内存的键。

  • --rdb <filename>:指定Redis数据库的RDB文件进行导出。这允许用户备份Redis数据库。

  • --slave:以从节点模式连接Redis服务器。这通常用于设置Redis复制和从节点管理。

  • --pipe:使用管道模式发送Redis命令。这可以加快大批量命令的执行速度,特别适用于数据迁移或批量更新等场景。

  • --eval <script> <keys> [args]:执行指定的Lua脚本。这个参数允许用户在Redis服务器上运行自定义的Lua脚本,以实现复杂的逻辑操作和数据处理。

  • --latency:在Redis服务器上执行PING命令以获取延迟信息。这有助于监控Redis服务器的性能和响应时间。

  • --stat:打印Redis服务器的统计信息。这包括内存使用情况、命令处理速率等关键指标,有助于用户了解Redis服务器的运行状态。

按key迁移redis脚本:

#!/bin/bash
source_host="127.0.0.1"
source_port=6379
source_db=0
destination_host="127.0.0.1"
destination_port=6379
destination_db=1

redis-cli -h $source_host -p $source_port -n $source_db keys "*" | while read key
do
t=`redis-cli -h $source_host -p $source_port -n $source_db --raw ttl $key`
if test $t -eq -1
then
    t=0
fi
redis-cli -h $source_host -p $source_port -n $source_db --raw -D dump $key | redis-cli -h $destination_host -p $destination_port -n $destination_db -x restore $key $t
echo "migrate key $key"
done

使用--rdb备份redis:

$ redis-cli --rdb redis.rdb
sending REPLCONF capa eof
sending REPLCONF rdb-only 1
SYNC sent to master, writing 205 bytes to 'redis.rdb'
Transfer finished with success.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/954271.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ArcSegment绘制及计算

ArcSegment绘制及计算 给定起始点、终止点和 bulge 值计算弧线中心点和半径&#xff0c;绘制ArcSegment。 import math def calculate_arc_center_and_radius(x1, y1, x2, y2, bulge):angle4*math.atan(bulge)# 计算弦中点mid_x (x1 x2) / 2mid_y (y1 y2) / 2# 计算弦长的…

【高可用自动化体系】自动化体系

架构设计的愿景就是高可用、高性能、高扩展、高效率。为了实现架构设计四高愿景&#xff0c;需要实现自动化系统目标&#xff1a; 标准化。 流程自助化。 可视化&#xff1a;可观测系统各项指标、包括全链路跟踪。 自动化&#xff1a;ci/cd 自动化部署。 精细化&#xff1a…

FakeLocation 1599 | 内部旧版

前言:FakeLocation又更新了,在某安上面看见一些&#xff0c;大概问题就是地图没了&#xff0c;然后有更难搞了 任务一 我们先去看看地图是怎么个事情 这里用的是百度地图就没有了哈 高德地图是有的 任务二 null 选择成功了&#xff0c;虽然是null 任务三 地图位置 虽然不显示了…

初识算法和数据结构P1:保姆级图文详解

文章目录 前言1、算法例子1.1、查字典&#xff08;二分查找算法&#xff09;1.2、整理扑克&#xff08;插入排序算法&#xff09;1.3、货币找零&#xff08;贪心算法&#xff09; 2、算法与数据结构2.1、算法定义2.2、数据结构定义2.3、数据结构与算法的关系2.4、独立于编程语言…

2025年华数杯国际赛B题论文首发+代码开源 数据分享+代码运行教学

176项指标数据库 任意组合 千种组合方式 14页纯图 无水印可视化 63页无附录正文 3万字 1、为了方便大家阅读&#xff0c;全文使用中文进行描述&#xff0c;最终版本需自行翻译为英文。 2、文中图形、结论文字描述均为ai写作&#xff0c;可自行将自己的结果发给ai&#xff0c…

CSS的小知识

一、子选择器 (>) 让 CSS 样式只作用于子级和孙级元素&#xff0c;而不影响其他元素 有>是只对其子级有效&#xff0c;子选择器只会影响直接的子级元素&#xff0c;而不会影响更深层次的孙级元素 无>时是对子级、孙级、曾孙级等所有后代都有效

【经管数据】ZF数字采购采购明细数据(2015.3-2024.3)

一、数据来源&#xff1a; 原始数据来源为ZF采购网。数据涵盖了自2015年3月至2024年3月的ZF数字采购合同明细&#xff0c;反映了数字化转型在政府采购中的应用情况。 二、参考文献&#xff1a; [1] 申志轩, 祝树金, 文茜, 等. ZF数字采购与企业数字化转型[J]. 数量经济技术经济…

【Linux】Mysql部署步骤

一、JDK安装配置 在home目录下执行命令&#xff1a;mkdir Jdk 1.将JDK 上传至该文件夹&#xff0c;有些终端工具可以直接上传文件&#xff0c;比如&#xff1a;MobaXterm 可以看到安装包已经上传上来了 2.直接安装 命令&#xff1a;rpm -ivh jdk-8u311-linux-x64.rpm 3.安装成…

虚拟同步机(VSG)Matlab/Simulink仿真模型

虚拟同步机控制作为原先博文更新的重点内容&#xff0c;我将在原博客的基础上&#xff0c;再结合近几年的研究热点对其内容进行更新。Ps&#xff1a;VSG相关控制方向的simulink仿真模型基本上都搭建出来了&#xff0c;一些重要的控制算法也完成了实验验证。 现在搭建出来的虚拟…

二分查找算法——点名

一.题目描述 LCR 173. 点名 - 力扣&#xff08;LeetCode&#xff09; 二.题目解析 有0~n-1这n个数&#xff0c;但是数组中只有n-1个数&#xff0c;我们要找到消失的那个数。 三.算法原理 1.哈希表 我们先创建一个n个数的哈希表并初始化为0&#xff0c;然后将数组中的数存放…

FIDO2密码钥匙与无密码认证:打造安全便捷的数字世界

在数字化时代&#xff0c;密码曾被视为网络安全的基石&#xff0c;但随着网络攻击手段日益复杂&#xff0c;传统的密码认证方法越来越无法抵御这些挑战。对于用户来说&#xff0c;登录密码不仅繁琐易忘&#xff0c;而且一旦泄露&#xff0c;往往会导致数据泄露&#xff0c;造成…

Jmeter进行http接口并发测试

目录&#xff1a; 1、Jmeter设置&#xff08;1&#xff09;设置请求并发数&#xff08;2&#xff09;设置请求地址以及参数&#xff08;3&#xff09;添加结果数 2、启动看结果 1、Jmeter设置 &#xff08;1&#xff09;设置请求并发数 &#xff08;2&#xff09;设置请求地址…

osg中实现模型的大小、颜色、透明度的动态变化

以博饼状模型为对象,实现了模型大小、颜色、透明度的动态变化。 需要注意的是一点: // 创建材质对象osg::ref_ptr<osg::Material> material = new osg::Material;material->setDiffuse(osg::Material::FRONT_AND_BACK, osg::Vec4(0.0, 1.0, 0.0, 0.5));// 获取模型的…

VSCode使用纪要

1、常用快捷键 1&#xff09;注释 ctrl? 单行注释&#xff0c; altshifta 块注释&#xff0c; 个人测试&#xff0c;ctrl? 好像也能块注释 2&#xff09;开多个项目 可以先开一个新窗口&#xff0c;再新窗口打开另一个项目&#xff0c;这时就是同时打开多个项目了。 打开…

Jmeter 简单使用、生成测试报告(一)

一、下载Jmter 去官网下载&#xff0c;我下载的是apache-jmeter-5.6.3.zip&#xff0c;解压后就能用。 二、安装java环境 JMeter是基于Java开发的&#xff0c;运行JMeter需要Java环境。 1.下载JDK、安装Jdk 2.配置java环境变量 3.验证安装是否成功&#xff08;java -versio…

Linux 服务器挖矿木马防护实战:快速切断、清理与加固20250114

Linux 服务器挖矿木马防护实战&#xff1a;快速切断、清理与加固 引言 挖矿木马作为一种常见的恶意软件&#xff0c;对服务器资源和安全构成严重威胁。据安全机构统计&#xff0c;2023 年全球约 45%的 Linux 服务器遭受过挖矿木马攻击&#xff0c;平均每台被感染服务器每月造…

Linux Kernel 之十 详解 PREEMPT_RT、Xenomai 的架构、源码、构建及使用

概述 现在的 RTOS 基本可以分为 Linux 阵营和非 Linux 阵营这两大阵营。非 Linux 阵营的各大 RTOS 都是独立发展,使用上也相对独立;而 Linux 阵营则有多种不同的实现方法来改造 Linux 以实现实时性要求。本文我们重点关注 Linux 阵营的实时内核实现方法! 本文我们重点关注 …

计算机网络(四)——网络层

目录 一、功能 二、IP数据报分片 三、DHCP动态主机配置协议 四、网络地址转换&#xff08;NAT&#xff09;技术 五、无分类编址CIDR 六、ARP地址解析协议 七、ICMP网际控制报文协议 八、IPv4和IPv6的区别 九、IPv4向IPv6的两种过渡技术——双栈协议和隧道技术 十、路由…

apache-skywalking-apm-10.1.0使用

apache-skywalking-apm-10.1.0使用 本文主要介绍如何使用apache-skywalking-apm-10.1.0&#xff0c;同时配合elasticsearch-8.17.0-windows-x86_64来作为存储 es持久化数据使用。 步骤如下&#xff1a; 一、下载elasticsearch-8.17.0-windows-x86_64 1、下载ES(elasticsear…

CVE-2025-22777 (CVSS 9.8):WordPress | GiveWP 插件的严重漏洞

漏洞描述 GiveWP 插件中发现了一个严重漏洞&#xff0c;该插件是 WordPress 最广泛使用的在线捐赠和筹款工具之一。该漏洞的编号为 CVE-2025-22777&#xff0c;CVSS 评分为 9.8&#xff0c;表明其严重性。 GiveWP 插件拥有超过 100,000 个活跃安装&#xff0c;为全球无数捐赠平…