【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中最重要的角色,为表达敬意,必须要给它放个…...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...
