【Redis】redis通用命令
redis连接命令(客户端)
要在 redis 服务上执行命令需要一个 redis 客户端。Redis 客户端在我们之前安装redis 的src目录下,具体为/usr/local/redis/src。注意此redis实例没有设置密码,如果设置了密码需要先使用命令AUTH执行验证或者开始在命令行中通过-a指定。
本地连接
[root@k8s-m2 src]# cd /usr/local/redis/src
[root@k8s-m2 src]# pwd
/usr/local/redis/src
[root@k8s-m2 src]# ./redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>
在以上实例中我们连接到本地的 redis 服务并执行 PING 命令,该命令用于检测 redis 服务是否启动。
远程连接
如果需要在远程 redis 服务上执行命令,同样我们使用的也是 redis-cli 命令。如下:
[root@k8s-m2 src]# ./redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> PING
PONG
redis 连接的基本命令
下表列出了 redis 连接的基本命令:
| 命令 | 说明 |
|---|---|
| AUTH password | 验证密码是否正确 |
| ECHO message | 打印字符串 |
| PING | 查看服务是否运行 |
| QUIT | 关闭当前连接 |
| SELECT index | 切换到指定的数据库,默认为0 |
redis密码设置
简单说一下redis中密码的设置,方法有两种:
- 方法一:通过命令设置密码(缺点就是临时生效,
重启服务器后密码会失效),通过redis-cli连接后使用如下命令:
config set requirepass 123456
执行完毕,无需重启,退出客户端,重新登录就需要输入密码了 。 - 方法二:通过配置文件redis.conf设置密码(永久生效)
修改redis.conf中requirepass这行,后面跟的就是密码,默认是注释掉的,即不需要密码。将该行#号删除后设置自己想要的密码,并重启redis服务即可。
可以通过如下命令查看设置的密码:
127.0.0.1:6379> CONFIG GET requirepass
1) "requirepass"
2) "123456"
127.0.0.1:6379>
实际使用中,生成环境可能之前没有设置密码,但是现在需要设置但是又不能立马重启redis服务,为防止重启服务器后密码失效,可以通过方法一 + 方法二来设置密码。临时设置一个密码并修改配置文件,不需要重启服务。
Redis服务端
Redis 服务器命令主要是用于管理 redis 服务。下表列出了 redis 服务器的相关命令:
| 命令 | 说明 |
|---|---|
| BGREWRITEAOF | 异步执行一个 AOF(AppendOnly File) 文件重写操作 |
| BGSAVE | 在后台异步保存当前数据库的数据到磁盘 |
| CLIENT KILL [ip:port] [ID client-id] | 关闭客户端连接 |
| CLIENT LIST | 获取连接到服务器的客户端连接列表 |
| CLIENT GETNAME | 获取连接的名称 |
| CLIENT PAUSE timeout | 在指定时间内终止运行来自客户端的命令 |
| CLIENT SETNAME connection-name | 设置当前连接的名称 |
| CLUSTER SLOTS | 获取集群节点的映射数组 |
| COMMAND | 获取 Redis 命令详情数组 |
| COMMAND COUNT | 获取 Redis 命令总数 |
| COMMAND GETKEYS | 获取给定命令的所有键 |
| TIME | 返回当前服务器时间 |
| COMMAND INFO command-name [command-name …] | 获取指定 Redis 命令描述的数组 |
| CONFIG GET parameter | 获取指定配置参数的值 |
| CONFIG REWRITE | 对启动 Redis 服务器时所指定的 redis.conf 配置文件进行改写 |
| CONFIG SET parameter value | 修改 redis 配置参数,无需重启 |
| CONFIG RESETSTAT | 重置 INFO 命令中的某些统计数据 |
| DBSIZE | 返回当前数据库的 key 的数量 |
| DEBUG OBJECT key | 获取 key 的调试信息 |
| DEBUG SEGFAULT | 让 Redis 服务崩溃 |
| FLUSHALL | 删除所有数据库的所有key |
| FLUSHDB | 删除当前数据库的所有key |
| INFO [section] | 获取 Redis 服务器的各种信息和统计数值 |
| LASTSAVE | 返回最近一次 Redis 成功将数据保存到磁盘上的时间,以 UNIX 时间戳格式表示 |
| MONITOR | 实时打印出 Redis 服务器接收到的命令,调试用 |
| ROLE | 返回主从实例所属的角色 |
| SAVE | 同步保存数据到硬盘 |
| SHUTDOWN [NOSAVE] [SAVE] | 异步保存数据到硬盘,并关闭服务器 |
| SLAVEOF host port | 将当前服务器转变为指定服务器的从属服务器(slave server) |
| SLOWLOG subcommand [argument] | 管理 redis 的慢日志 |
| SYNC | 用于复制功能(replication)的内部命令 |
通用命令
keys pattern
用于查找所有符合给定模式(pattern)的key
| 命令 | 说明 | 举例 |
|---|---|---|
| keys * | 遍历所有 key | |
| keys h[ae]*llo | 遍历以h开头,第二个字符为a-e之间的,以llo结尾的所有key | h[ae]llo matches hello and hallo, but not hillo |
| keys h?llo | ?代表一个字符,有且只有 | h?llo matches hello, hallo and hxllo |
| keys h*llo | *代表0个或者多个字符 | h*llo matches hllo and heeeello |
| keys h[^e]llo | ^ 代表中间不是e的字符 | h[^e]llo matches hallo, hbllo, … but not hello |
| dbsize | 计算 key 的总数 |
注意:keys命令一般不在生产环境中使用
- 由于生产环境中key的数量可能很多,而keys这个命令是一个O(n)的命令
- 由于Redis是单线程的,这个命令的操作会阻塞其他操作
- 可以在从节点上执行keys命令
- 使用SCAN命令代替keys命令
示例,可以观察一下不同通配符的效果。
127.0.0.1:6379>
127.0.0.1:6379> DBSIZE
(integer) 0
127.0.0.1:6379> MSET hello 1 hallo 2 hillo 3 hxllo 4 hllo 5 heeeello 6 hbllo 7
OK
127.0.0.1:6379> DBSIZE
(integer) 7
127.0.0.1:6379> KEYS h[ae]*llo
1) "hello"
2) "hallo"
3) "heeeello"
127.0.0.1:6379> KEYS h?llo
1) "hello"
2) "hallo"
3) "hbllo"
4) "hxllo"
5) "hillo"
127.0.0.1:6379> KEYS h*llo
1) "hello"
2) "hallo"
3) "hbllo"
4) "heeeello"
5) "hllo"
6) "hxllo"
7) "hillo"
127.0.0.1:6379> KEYS h[^e]llo
1) "hallo"
2) "hbllo"
3) "hxllo"
4) "hillo"
127.0.0.1:6379>
exists key
用于检查给定的key是否存在。存在返回 1,不存在返回 0 。
示例,接上面的例子继续:
127.0.0.1:6379> EXISTS hello
(integer) 1
127.0.0.1:6379> EXISTS hello1
(integer) 0
127.0.0.1:6379>
del key1 [key2…]
用于 在 key 存在时删除 key。存在返回 1, 不存在返回 0 。
示例,接上面的例子继续:
127.0.0.1:6379> DEL hello
(integer) 1
127.0.0.1:6379> get hello
(nil)
127.0.0.1:6379> DEL hello
(integer) 0
127.0.0.1:6379>
expire key second、ttl key、persist key
| 命令 | 说明 |
|---|---|
| expire key second | 为给定 key 设置过期时间,单位为秒,到期后key就不存在了。默认设置的key无过期时间 |
| ttl key | 以秒为单位,返回给定key的剩余生存时间(TTL , time to live)。不存在 key 返回 -2 ,无过期时间的 key 返回-1 |
| persist key | 移除 key 的过期时间,key 将持久保存 |
示例,接上面的例子继续:
127.0.0.1:6379> EXPIRE hallo 10
(integer) 1
127.0.0.1:6379> ttl hallo
(integer) 8
127.0.0.1:6379> ttl hallo
(integer) 2
127.0.0.1:6379> ttl hallo
(integer) -2
127.0.0.1:6379> get hallo
(nil)127.0.0.1:6379> set hello 1
OK
127.0.0.1:6379> ttl hello
(integer) -1
127.0.0.1:6379> expire hello 30
(integer) 1
127.0.0.1:6379> ttl hello
(integer) 26
127.0.0.1:6379> PERSIST hello
(integer) 1
127.0.0.1:6379> ttl hello
(integer) -1
127.0.0.1:6379>
type
用于返回 key 所存储的值的类型,不存在的 key 返回none
示例,接上面的例子继续:
127.0.0.1:6379> TYPE hello
string
127.0.0.1:6379> SADD set1 1 2 3
(integer) 3
127.0.0.1:6379> TYPE set1
set
127.0.0.1:6379> TYPE set2
none
127.0.0.1:6379>
flushdb、flushall
用于删除key
| 命令 | 含义 |
|---|---|
| flushdb | 删除当前数据库中的所有 key |
| flushall | 删除所有数据库中的 key |
更多关于keys的命令
| 命令 | 说明 |
|---|---|
| DUMP key | 序列化给定 key ,并返回被序列化的值。 |
| MOVE key db | 将当前数据库的 key 移动到给定的数据库 db 当中。 |
| PTTL key | 以毫秒为单位返回 key 的剩余的过期时间。 |
| RANDOMKEY | 从当前数据库中随机返回一个 key 。 |
| RENAME key newkey | 修改 key 的名称 |
| RENAMENX key newkey | 仅当 newkey 不存在时,将 key 改名为 newkey 。 |
| SCAN cursor [MATCH pattern] [COUNT count] | 迭代数据库中的数据库键。 |
| select database_number | 切换当前使用的数据库,默认使用0 |
查看当前使用redis的信息
INFO命令,可以全局查看当前redis的相关信息,主要包括Server、Clients、Memory、Persistence、Stats、Replication、CPU、Modules、Cluster、Keyspace。大家可以自行查看一下各模块下面包括的信息。
可以使用 INFO 模块名 具体查看某个模块的信息,如下,查看当前使用的数据库信息(包括可以当前使用的db,key数量等):
127.0.0.1:6379> DBSIZE
(integer) 6
127.0.0.1:6379> MOVE hello 1
(integer) 1
127.0.0.1:6379> INFO keyspace
# Keyspace
db0:keys=5,expires=0,avg_ttl=0
db1:keys=1,expires=0,avg_ttl=0
上面的示例是将0 号数据库中hello这个key移到1 号数据库,然后通过INFO查看到相关信息。
更多关于redis的知识分享,请前往博客主页。编写过程中,难免出现差错,敬请指出
相关文章:
【Redis】redis通用命令
redis连接命令(客户端) 要在 redis 服务上执行命令需要一个 redis 客户端。Redis 客户端在我们之前安装redis 的src目录下,具体为/usr/local/redis/src。注意此redis实例没有设置密码,如果设置了密码需要先使用命令AUTH执行验证或…...
mysql服务治理
一、性能监控指标和解决方案 1.QPS 一台 MySQL 数据库,大致处理能力的极限是,每秒一万条左右的简单 SQL,这里的“简单 SQL”,指的是类似于主键查询这种不需要遍历很多条记录的 SQL。 根据服务器的配置高低,可能低端…...
opencv--使用直方图找谷底进行确定分割阈值
直方图原理就不说了,大家自行百度 直方图可以帮助分析图像中的灰度变化,进而帮助确定最优二值化的灰度阈值(threshold level)。如果物体与背景的灰度值对比明显,此时灰度直方图就会包含双峰(bimodal histo…...
dolphinscheduler海豚调度(四)钉钉告警
在之前的博文中,我们已经介绍了DolphinScheduler海豚调度的基本概念和工作流程,以及Shell任务和SQL任务的实践。今天,让我们来学习DolphinScheduler中的另一个重要功能:钉钉告警。 钉钉群添加机器人 在钉钉群添加机器人…...
Java-Safe Point(安全点)
虽然安全点的概念和垃圾回收相关,但是概念还是比较独立的,所以本文是从这篇文章Java-虚拟机-垃圾收集器/垃圾收集算法/GCROOT根中抽出来的 安全点safe point 当执行垃圾回收(GC)的时候,不是立马就执行的,…...
大数据旅游数据分析:基于Python旅游数据采集可视化分析推荐系统
文章目录 基于Python旅游数据采集可视化分析推荐系统一、项目概述二、项目说明三、开发环境四、功能实现五、系统页面实现用户登录注册系统首页数据操作管理价格与销量分析旅游城市和景点等级分析旅游数据评分情况分析旅游数据评论情况分析旅游景点推荐Django系统后台管理 六、…...
打造智能汽车微服务系统平台:架构的设计与实现
随着智能汽车技术的飞速发展,微服务架构在汽车行业中的应用越来越广泛。采用微服务架构可以使汽车系统更加灵活、可扩展,并且有利于快速推出新功能和服务。本文将从设计原则、关键技术、数据安全等方面,介绍如何搭建智能汽车微服务系统平台架…...
机试指南:Ch5:线性数据结构 Ch6:递归与分治
文章目录 第5章 线性数据结构1.向量 vector2.队列 queue(1)队列的特点、应用(2)基本操作(3)例题例题1:约瑟夫问题2 (难度:中等) (4)习题习题1:排队打饭 (难度:中等) 3.栈 stack(1)栈…...
展厅设计的理念是什么
1、立足当地文化 升华本地精神 ,因地制宜,深入挖掘本土文化特色,撷取其精华,灵活运用、巧妙融入,做到掌控宏观全局。 重点突出,努力打造本土拳头品牌,挖掘其内涵,拓展延伸、着重展示…...
springboot 定时任务备份mysql数据库
记录在Linux 系统上定时备份MySQL数据库 1、在代码中添加备份 package org.jeecg.modules.xczxhhr.job;import lombok.extern.slf4j.Slf4j; import org.quartz.Job; import org.quartz.JobExecutionContext;import java.io.BufferedReader; import java.io.File; import java…...
PMP考试之20240301
1、在回顾项目团队最新的绩效报告时,项目经理注意到他们的产出出现了重大下降。项目经理决定: A.增加每个团队成员在截止日期前完成任务的压力 B.增加状态报告和团队评审会议的频率 C.为表现最好的团队成员提供特别奖励 D.改善和促进团队成员之间的信任和凝聚力…...
什么是MAC地址? win10电脑查看MAC地址的多种方法
您是否知道连接到家庭网络的每件硬件都有自己的身份?正如每个设备都分配有自己的 IP 地址一样,每个硬件都有一个唯一的网络标识符。 该标识符称为MAC 地址。MAC 代表媒体访问控制。您可能需要 MAC 地址来解决网络问题或配置新设备。在 Windows 中查找您…...
vue3中的基本语法
目录 基础素材 vue3的优化 使用CompositionAPI理由 1. reactive() 函数 2. ref() 函数 2.1. ref的使用 2.2. 在 reactive 对象中访问 ref 创建的响应式数据 3. isRef() 函数 4. toRefs() 函数 5. computed() 5.1. 通过 set()、get()方法创建一个可读可写的计算属性 …...
Timeplus-proton流处理器调研
概念 Timeplus是一个流处理器。它提供强大的端到端功能,利用开源流引擎Proton来帮助数据团队快速直观地处理流数据和历史数据,可供各种规模和行业的组织使用。它使数据工程师和平台工程师能够使用 SQL 释放流数据价值。 Timeplus 控制台可以轻松连接到不…...
H3C防火墙安全授权导入
一、防火墙授权概述 前面我们已经了解了一些防火墙的基本概念,有讲过防火墙除了一些基本功能,还有一些高级安全防护,但是这些功能需要另外独立授权,不影响基本使用。这里以H3C防火墙为例进行大概了解下。 正常情况下,防…...
使用 OpenCV 通过 SIFT 算法进行对象跟踪
本文介绍如何使用 SIFT 算法跟踪对象 在当今世界,当涉及到对象检测和跟踪时,深度学习模型是最常用的,但有时传统的计算机视觉技术也可能有效。在本文中,我将尝试使用 SIFT 算法创建一个对象跟踪器。 为什么人们会选择使用传统的计…...
SHELL 脚本: 导出NEO4j DUMP并上传SFTP
前提 开通sftp账号 安装expect 示例 NEO4J_HOME/path/to/neo4j # neo4j 安装目录 DUMP_PATH/data/dump # DUMP本地保存目录 DUMP_FILEneo4j_$(date %F).dump #导出文件名称 UPLOAD_DIR/path/to/stfp/dump/ #上传目录 $NEO4J_HOME/bin/neo4j-admin dump --databaseneo4j --t…...
Vue 封装一个函数,小球原始高度不固定,弹起比例不固定、计算谈几次后,高度低于1米
## 简介 本文将介绍如何使用Vue封装一个函数,计算小球弹跳的次数,直到高度低于1米。函数的参数包括小球的原始高度和弹起比例。通过代码案例演示了如何使用Vue进行封装和调用。 ## 函数封装 vue <template> <div> <label for&qu…...
外地人能申请天津公租房吗?2024天津积分落户租房积分怎么加?
相关推荐:在天津工作的外地人可以申请天津公共租赁住房吗? 外地人可以申请天津公共租赁住房吗? 2024年定居天津租房如何加分? 根据《天津居住证积分指标及积分表》的规定,在天津租房也可以参加积分结算,每…...
毕业设计——基于springboot的聊天系统设计与实现(服务端 + 客户端 + web端)
整个工程包含三个部分: 1、聊天服务器 聊天服务器的职责一句话解释:负责接收所有用户发送的消息,并将消息转发给目标用户。 聊天服务器没有任何界面,但是却是IM中最重要的角色,为表达敬意,必须要给它放个…...
别再为World Creator到UE的地形导入发愁了!手把手教你搞定PNG高度图与Z轴缩放
从World Creator到Unreal Engine:数字地形导入的终极避坑指南 当你在World Creator中精心雕琢出一片壮丽的山川河流,迫不及待想将它们导入Unreal Engine时,却常常在技术细节上栽跟头——分辨率不匹配、高度图异常、Z轴缩放错误,这…...
UVM TLM analysis_port的write函数:从端口声明到数据处理的完整链路解析
1. UVM TLM analysis_port基础概念 在UVM验证环境中,TLM(Transaction Level Modeling)通信机制是组件间数据交互的核心方式。analysis_port作为TLM接口的一种特殊类型,主要用于实现单向、多播的数据传输。与传统的TLM端口不同&…...
如何在嘎嘎降AI中处理扫描版PDF论文:格式转换和处理教程
如何在嘎嘎降AI中处理扫描版PDF论文:格式转换和处理教程 第一次用降AI工具会遇到很多不确定的地方——传什么格式、选哪个模式、怎么验收效果。 这篇教程把常见问题都覆盖了,主要基于嘎嘎降AI(www.aigcleaner.com),4…...
生成式AI模型即代码(MaaC)实践白皮书:将LLM微调、评估、安全扫描、合规审查全部纳入GitOps驱动的CI/CD流水线
第一章:生成式AI应用CI/CD流水线 2026奇点智能技术大会(https://ml-summit.org) 生成式AI应用的持续集成与持续交付(CI/CD)面临模型版本不可控、推理环境不一致、评估指标难量化等独特挑战。传统软件流水线需扩展以支持大语言模型权重、提示…...
构建未来护城河:2026年全栈测试工程师必备技能体系深度解析
站在2026年的技术浪潮之巅,软件测试领域正经历一场由AI、云原生与数字化转型驱动的深刻重塑。传统的“测试执行者”角色正加速消解,取而代之的是具备全局视野、技术深度与业务洞察力的“全栈质量架构师”。对于每一位软件测试从业者而言,理解…...
高效处理SDF文件:拆分与分子属性数据清理实战
1. SDF文件基础与化学信息学应用 SDF(Structure Data File)是化学信息学领域最常用的分子数据存储格式之一。这种纯文本格式最初由MDL公司开发,现已成为药物研发和分子建模中的通用标准。一个典型的SDF文件包含三个核心部分:分子结…...
敏捷开发中的闪电晋升策略:软件测试从业者的破局之道
在当今以“敏捷”和“快”为关键词的软件开发时代,职业发展轨迹也正在被重塑。对于软件测试从业者而言,传统的、线性的晋升阶梯已显乏力,新的环境呼唤新的策略。敏捷开发以其迭代、协作和持续交付的特性,在催生技术变革的同时&…...
8大主流网盘直链下载工具LinkSwift:架构解析与技术实现深度剖析
8大主流网盘直链下载工具LinkSwift:架构解析与技术实现深度剖析 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云…...
别再只跑Demo了!用Streamlit给你的YOLO安全帽检测模型做个炫酷的Web界面(支持图片/视频/摄像头)
从命令行到Web界面:用Streamlit为YOLO安全帽检测模型打造专业级交互应用 在计算机视觉领域,YOLO系列算法因其卓越的实时性能已成为目标检测任务的首选方案。然而,许多开发者在完成模型训练后,往往止步于命令行或Jupyter Notebook中…...
SkeyeVSS开发日志:环境变量 .env 配置项详解
试用安装包下载 | SMS | 试用安装包下载 | 在线演示 项目源码地址 https://github.com/openskeye/go-vss 1. 关于 .env.prod 在 Skeyevss 中,.env.prod(或 .env.prod.d)是生产环境的总开关: 服务端口、IP、日志路径都来自它SIP…...
