【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=1redis-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
thent=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.
相关文章:
【redis】redis-cli命令行工具的使用
redis-cli命令行工具是一个功能强大的Redis客户端,它允许用户与Redis数据库进行交互和管理。 以下是一些常用参数的使用说明: 基本连接参数 -h, --host <hostname>:指定要连接的Redis服务器的主机名或IP地址。如果未指定,…...
使用Matplotlib显示中文的方法
1 问题提出 使用图1所示的代码进行matplotlib绘图时,因为其默认不支持中文,此时无法显示正确内容,如图2所示。 图1 matplotlib绘图绘图代码 图2 matplotlib无法显示中文 2 问题解决 2.1 设置全局字体 在图1所示的代码中,第13…...
SQL Server2022详细安装教程
1. 打开SQL Server官网:SQL Server 下载 | Microsoft 2. 选择Developer版 3. 下载好安装包,打开,选择自定义 4. 选择下载位置,最好不要在C盘即主磁盘即可。等待下载 5. 下载成功之后会弹出这个框 6. 点击“安装”&#…...
家里温度随心控,假期出行更舒适~
春节假期马上到来啦!这是放松身心、陪伴家人的最佳时机~ 但旅途结束的温差变化、空气质量问题是否让你有些担忧呢? 别担心!有了约克VRF中央空调,让你的假期更加舒心无忧~ 清新空气,自在出游…...
压力测试详解
压力测试 压力测试是一种软件测试,用于验证软件应用程序的稳定性和可靠性。压力测试的目标是在极其沉重的负载条件下测量软件的健壮性和错误处理能力,并确保软件在危急情况下不会崩溃。它甚至可以测试超出正常工作点的测试,并评估软件在极端…...
从epoll事件的视角探讨TCP:三次握手、四次挥手、应用层与传输层之间的联系
目录 一、应用层与TCP之间的联系 二、 当通信双方中的一方如客户端主动断开连接时,仅是在客户端的视角下连接已经断开,在服务端的眼中,连接依然存在,为什么?——触发EPOLLRDHUP事件:对端关闭连接或停止写…...
Redis复制(replica)
Redis主从复制 [Redis主从复制](replica)是一个多Redis实例进行数据同步的过程,其中一个实例是主实例(Master),其他实例是从实例(Slave)。主实例负责处理命令请求,而从实…...
[云讷科技] 用于软件验证的仿真环境
我们使用Pursuit自动驾驶仪为各种场景设计仿真环境,以便用户可以在模拟环境中直接验证他们的软件,无需现场测试。该环境基于Gazebo引擎。 1. 工作区目录 模拟环境的工作区位于提供的U盘中的~/pursuit_space/sitl_space_pursuit中。用户可以按照用户手册…...
使用 Vite 和 Vue 框架创建组件库
在前端开发中,组件化开发已成为一种高效、可维护的方式。通过创建组件库,不仅可以提高代码复用率,还能方便地在不同项目之间共享组件。本文将详细介绍如何使用 Vite 和 Vue 框架创建一个组件库,并将其导出供其他项目使用。为保持一…...
【数据结构学习笔记】19:跳表(Skip List)
介绍 跳表是一个能在 O ( n l o g n ) O(nlogn) O(nlogn)时间完成查找、插入、删除的数据结构,相比于树形结构优点就是很好写(所以也用于实现Redis ZSet)。其核心思想就是维护一个元素有序的,能随机提升索引层数的链表。最下面一…...
【8】深入理解 Go 语言中的协程-从基础到高级应用
文章目录 一、引言 🌟二、协程基础概念 🧐(一)什么是协程(二)协程与线程、进程的区别三、协程的创建与启动 🚀(一)使用 go 关键字创建协程(二)简单…...
深入理解 ECMAScript 2024 新特性:字符串 isWellFormed 方法
ECMAScript 2024 引入了一个新的字符串实例方法:String.prototype.isWellFormed。这一新增功能是为了帮助开发者更容易地验证字符串是否为有效的 Unicode 文本。本文将详细介绍这一方法的使用场景、实现原理及其在实际应用中的价值。 String.prototype.isWellFormed…...
算法分析与设计之贪心算法
文章目录 前言一、Greedy Algorithms1.1 贪心选择性质1.2 最优子结构性质1.3 正确性证明 二、典型例题2.1 Interval Scheduling间隔调度2.2 Interval Partitioning最少间教室排课2.3 Selecting Breakpoints选择加油站停靠点2.4 硬币找零2.5 Scheduling to Minimizing Lateness2…...
Centos 宝塔安装
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh 安装成功界面 宝塔说明文档 https://www.bt.cn/admin/servers#wcu 或者可以注册宝塔账号 1 快速部署 安装docker 之后 2 需要在usr/bin下下载do…...
蓝桥与力扣刷题(709 转换成小写字母)
题目:给你一个字符串 s ,将该字符串中的大写字母转换成相同的小写字母,返回新的字符串。 示例 1: 输入:s "Hello" 输出:"hello"示例 2: 输入:s "here…...
Redis的过期策略、内存淘汰机制
Redis只能存5G数据,可是你写了10G,那会删5G的数据。怎么删的?还有,你的数据已经设置了过期时间,但是时间到了,为什么内存占用率还是比较高? 一、Redis的过期策略 Redis采用的是定期删除惰性删除策略。 1…...
视觉多模态大模型---MiniMax-vl-01---以闪电般的注意力缩放基础模型
简介 MiniMax-VL-01 是与今年1月15日由上海稀宇科技有限公司(MiniMax)发布并开源的一款视觉多模态大模型,它与基础语言大模型 MiniMax-Text-01 一同构成了 MiniMax-01 系列。这款模型的设计初衷是为了应对日益增长的长上下文处理需求&#x…...
【微服务】面试 3、 服务监控 SkyWalking
微服务监控的原因 问题定位:在微服务架构中,客户端(如 PC 端、APP 端、小程序等)请求后台服务需经过网关再路由到各个微服务,服务间可能存在多链路调用。当某一微服务挂掉时,在复杂的调用链路中难以迅速确定…...
【案例81】NMC调用导致数据库的效率问题
问题现象 客户在使用NC系统时,发现系统特别卡顿。需要紧急排查。 问题分析 排查NMC发现,所有的线程都处于执行SQL层面,说明数据库当前出现了异常。查看数据库资源状态发现,Oracle相关进程CPU利用率达到了100%。 查看现在数据库…...
Linux_信号
信号的概念 && 知识补充 信号是进程之间事件异步通知的一种方式,是一种软中断。 标准信号:编号为1-31之间都是标准信号,这些都是预定义信号,用于通知进程发生的各种事件。实时信号:编号从32开始起均是实时信号…...
从多路复用到三维光阵:Arduino驱动8x8x8 LED立方体全解析
1. 项目概述:用Arduino点亮一个三维世界几年前,我第一次在创客展上看到一个8x8x8的LED立方体,那种由数百个光点构成的、在三维空间中流动的动画效果,瞬间就把我吸引住了。它不像普通的平面LED屏,而是真正有“深度”的光…...
智慧无人机巡检-无人机可见光红外数据集 无人机多模态检测数据集 红外与可见光检测数据集
智慧无人机巡检-无人机可见光红外数据集,已完成标注,可导出各种常用数据集,yolo,voc,coco等格式。可见光33000张,红外16100张,目标一张一个 无人机可见光红外目标数据集项目详细信息数据集名称无…...
写论文的神助攻!好用的AI写作辅助软件,逻辑清晰质量高
作为一名刚完成毕业论文的过来人,我太懂写论文的痛苦了 —— 选题迷茫、文献浩如烟海、框架混乱、逻辑不清、反复修改、查重降重反复折腾... 直到我发现了这套 AI 写作工具组合,简直是论文写作的 "开挂神器",效率直接拉满ÿ…...
《我看见的世界:李飞飞自传》第1-6章阅读笔记:从移民少女到AI教母的“看见“之旅
前言 当我们谈论人工智能时,我们谈论的是算法、数据、算力,是那些冰冷的代码和复杂的模型。但在《我看见的世界:李飞飞自传》中,李飞飞用她独特的视角告诉我们:AI的本质,是人类对"看见"世界的渴望…...
阿波罗登月,不可能:读心术与影子叙事 ——不是向全世界展示登月,而是向全世界注射登月
阿波罗登月,不可能:读心术与影子叙事 ——不是向全世界展示登月,而是向全世界注射登月 Jianbing Zhu 1^{1}1 1^{1}1 ECT-OS-JiuHuaShan 文明实验室 ORCID: 0009-0006-8591-1891 DOI: 10.5281/zenodo.20373157 Email: ect-os-jiuhuashanzoho…...
开源 AI Agent Harness Engineering 框架全览:LangChain, AutoGPT, CrewAI 孰优孰劣?
开源 AI Agent Harness Engineering 框架全览:LangChain, AutoGPT, CrewAI 孰优孰劣? 关键词 AI Agent Harness Engineering、大语言模型编排(LLM Orchestration)、LangChain、AutoGPT、CrewAI、工具调用(Tool Calling)、多Agent协作、自主任务规划 摘要 随着大语言模型…...
【与我学 ClaudeCode】协作篇 之 Worktree + Task Isolation :目录隔离的并行执行通道
作者:逆境不可逃 技术永无止境 希望我的内容可以帮助到你!!!! 大家吼 ! 我是 逆境不可逃 今天给大家带来文章《【与我学 ClaudeCode】协作篇 之 Worktree Task Isolation :目录隔离的并行执行通道》. Le…...
如何快速掌握Avidemux:新手完整入门指南与5个核心技巧
如何快速掌握Avidemux:新手完整入门指南与5个核心技巧 【免费下载链接】avidemux2 Avidemux2, simple video editor 项目地址: https://gitcode.com/gh_mirrors/avi/avidemux2 Avidemux是一款功能强大且完全开源的专业视频编辑工具,专为快速剪辑、…...
UE4SS终极指南:从零开始掌握虚幻引擎脚本系统
UE4SS终极指南:从零开始掌握虚幻引擎脚本系统 【免费下载链接】RE-UE4SS Injectable LUA scripting system, SDK generator, live property editor and other dumping utilities for UE4/5 games 项目地址: https://gitcode.com/gh_mirrors/re/RE-UE4SS UE4S…...
Sora 2 GIF导出速度提升300%?20年多媒体架构师亲授GPU加速转码链路(CUDA 12.4 + cuVID硬编实测)
更多请点击: https://kaifayun.com 第一章:Sora 2 GIF导出方法概览 Sora 2 并非 OpenAI 官方发布的模型,当前(截至2024年)并无名为“Sora 2”的公开产品。因此,所谓“Sora 2 GIF导出”实为社区对视频生成工…...
