Redis常用命令及使用例子集合

Redis常用命令 Redis 提供了多种命令来管理数据,以下是一些 Redis 常用命令,按不同数据类型和功能分类。 阅读详情

Redis安装

win安装

linux安装

下载安装包并解压和编译

wget http://download.redis.io/redis-stable.tar.gz
tar -zxvf redis-6.0.8.tar.gz
mv redis-6.0.8 redis
cd redis
make

配置 redis 为后台启动

vim redis.conf
daemonize yes

设置连接密码

vim redis.conf
requirepass password

设置远程连接

vim redis.conf
# bind 127.0.0.1
protected-mode no

后台启动redis

cd src
./redis.server ../redis.conf

yum安装

安装redis

yum -y install redis

设置连接密码

vim /etc/redis.conf
requirepass password

设置远程连接

vim /etc/redis.conf
# bind 127.0.0.1
protected-mode no

开机自启和启动

systemctl enable redis --now

Redis连接

可视化工具

Releases · qishibo/AnotherRedisDesktopManager · GitHub

无需认证

–raw是防止乱码

redis-cli --raw -h 127.0.0.1 -p 6379

需要认证

  • 连接时候直接认证
redis-cli -h 127.0.0.1 -p 6379 -a password
  • 连接后再进行认证
redis-cli -h 127.0.0.1 -p 6379
auth password

Redis配置

备份及恢复

  • 执行完save命令后会在redis安装目录生成一个dump.rdb文件

  • 需要恢复数据的话只需要把dump.rdb放到redis安装路径之后重启redis即可

  • config get dir命令返回字符串redis安装路径

save
config get dir

更换数据库

select index

清空数据库

  • dbsize命令返回数字当前数据库key个数

  • flushdb清空当前选中数据库

  • flushall清空所有数据库

dbsize
flushdb
flushall

设置密码

config set requirepass password

取消密码

config set requirepass ''

Redis 键(keys)

del (删除数据)

del key1 key2 key3 ... #返回数字成功删除的数量

rename (重命名key)

  • 成功返回字符串OK

  • key1不存在返回错误

  • key2已存在则会覆盖

rename key1 key2

renamenx (重命名key)

  • 返回数字0或1

  • newkey存在则返回0,不存在则返回1

renamenx key1 newkey

move (移动key)

move key1 10 #移动key1到10数据库,返回数字0或1

keys (筛选查找key)

keys a*     #查找所有以aa开头的key
keys *b*    #查找所有包含aa的key
keys a??    #查找长度为4,前两位为aa的key

randomkey (随机取key)

randomkey #返回字符串随机的一个key,如果没有key则返回null

exists (判断是否存在)

exists key1 key2 key3 key4 ... #返回数字存在的数量

type (获取数据类型)

type key1 #返回值有none、string、hash、list、set、zset

expire (设置到期时间)

expire key1 10 #返回数字0或1,时间单位为秒

pexpire (设置到期时间)

expire key1 1000 #返回数字0或1,时间单位为毫秒

expireat (设置到期时间)

expireat key1 1679295501 #返回数字0或1,时间单位为10位时间戳

pexpireat (设置到期时间)

pexpireat key1 1679295501000 #返回数字0或1,时间单位为13位时间戳

persist (移除到期时间)

persist key1 #返回数字0或1

ttl (查询到期时间)

  • 返回数字-1 没有设置到期时间

  • 返回数字-2 key不存在

  • 否则返回还剩多少秒到期

ttl key1

pttl (查询到期时间)

  • 返回数字-1 没有设置到期时间

  • 返回数字-2 key不存在

  • 否则返回还剩多少毫秒到期

pttl key1

Redis 字符串(String)

set (存储数据)

set key1 value1 #返回字符串OK

setnx (不存在时存储)

setnx key1 value1 #key1不存在时候存储数据,存在则不进行操作,返回数字0或1

mset (批量存储数据)

mset key1 value1 key2 value2 key3 value3 #批量存储数据,返回字符串OK

msetnx (批量不存在时存储)

msetnx key1 value1 key2 value2 key3 value3 #返回数字0或1,所有key都不应该存在

getset (设置值并返回原值)

getset key1 value2 #返回字符串key1原来的值,key1不存在则返回null

setex (存储并设置到期)

setex key1 10 value1 #设置key1的值为value1,10秒后到期,返回字符串OK

psetex (存储并设置到期)

psetex key1 1000 value1 #设置key1的值为value1,1秒后到期,返回字符串OK

append (追加字符串)

append key1 test #返回数字当前字符串长度

incr (自动数值+1)

  • value必须为数字

  • key不存在会自动创建并设置value为1

incr key1 #返回数字修改后的值

decr (自动数值-1)

  • value必须为数字

  • key不存在会自动创建并设置value为-1

decr key1 #返回数字修改后的值

incrby (指定数值增加)

incrby key1 10 #返回数字修改后的值

decrby (指定数值减少)

decrby key1 10 #返回数字修改后的值

incrbyfloat (增加小数)

incrbyfloat key1 10.50 #返回数字修改后的值

get (获取数据)

get key1 #返回字符串,不存在返回null

mget (批量获取数据)

mget key1 key2 key3 #返回数组字符串

getrange (字符串截取)

  • end值-1代表截取到倒数第一位,-2代表截取到倒数第二位

  • key不存在或截取范围不存在返回空白字符串,不会返回null

getrange key1 0 3 #返回字符串

Redis 哈希(Hashes)

hset (存储数据)

hset key1 field1 value1 field2 value2 #返回数字key1的field数量

hsetnx (不存在时存储)

hsetnx key1 field1 value1 #返回数字0或1

hincrby (为filed添加数)

hincrby key1 field1 10 #返回数字field当前值
hincrbyfloat key1 field1 10.5 #返回数字field当前值

hget (获取数据)

hget key1 field1 #返回字符串,不存在返回null

hmget (批量获取数据)

hmget key1 field1 field2 #返回数组字符串

hkeys (获取field)

hkeys key1 #返回数组字符串 

hvals (获取value)

hvals key1 #返回数组字符串

hgetall (取field和value)

hgetall key1 #返回数组字符串,一行field,一行value

hlen (获取field数量)

hlen key1 #返回数字key1的field数量

Redis 列表(Lists)

lpush (存储数据)

lpush key1 value1 value2 #返回数字当前list长度,从左边添加

lpushx (存在时候存储)

lpushx key1 value1 value2 #返回数字当前list长度

rpush(存储数据)

rpush key1 value1 value2 #返回数字当前list长度,从右边添加

rpushx (存在时候存储)

rpushx key1 value1 value2 #返回数字当前list长度

linsert (指定位置添加)

linsert key1 before/after value1 value2 #返回当前数组长度,只会查找第一个value1

lpop (移除并返回第一个)

lpop key1 #返回字符串,没有则返回null
blpop key1 key2 ... 10 #返回数组字符串,一行key一行value,0永久阻塞,单位秒

rpop (移除并返回最后一个)

rpop key1 #返回字符串,没有则返回null

lrem (删除成员)

  • 0 删除所有

  • 1 删除第一个

  • 2 删除第二个

  • -1 删除最后一个

  • -2 删除最后两个

lrem key1 0 value1 #返回数字删除的数量

lset (根据索引修改)

  • 0 第一个

  • 1 第二个

  • -1 倒数第一个

  • -2 倒数第二个

lset key1 -2 value1 #返回字符串OK

ltrim (修剪数组)

ltrim key1 1 -1 #返回字符串OK

lrange (获取数据)

lrange key1 0 -1 #返回数组字符串

lindex (通过索引获取)

lindex key1 -2 #返回字符串,不存在则返回null

Redis 集合(Sets)

sadd (存储数据)

sadd key1 memeber1 memeber2 #返回数字当前set长度

srem (删除成员)

srem key1 memeber1 memeber2 #返回数字0或1

spop (随机删除并返回)

  • 省略count参数时候,返回字符串,不存在或没数据返回null

  • 输入count参数时候,返回数组字符串,不存在或没数据返回空白数组

spop key1 [count] #随机删除并返回数据    

smove (移动数据)

smove key1 key2 memeber1 #返回数字0或1

smembers (获取数据)

smembers key1 #返回数组字符串

srandmember (随机获取)

sranmember key1 [count] #返回字符串或数组字符串

sismembers (判断是否存在)

sismember key1 memeber1 #返回数字0或1

sdiff (获取差集)

sdiff key1 key2 key3 #返回数组字符串,第一个集合和其他集合的差集

sdiffstore (把差集存储起来)

sdiffstore newkey key1 key2 key3 #返回数字newkey的长度

sinter (获取交集)

sinter key1 key2 key3 #返回数组字符串,key1 key2 key3的交集

sinterstore (把交集存储起来)

sinterstore newkey key1 key2 key3 #返回数字newkey的长度

sunion (获取并集)

sunion key1 key2 key3 #返回数组字符串,key1 key2 key3的并集

sunionstore (把并集存储起来)

sunionstore newkey key1 key2 key3 #返回数字newkey的长度

Redis 有序集合(Sorted Sets)

zadd (存储数据)

zadd key1 10 member1 20 member2 30 member3 #返回数字添加成功的数

zrem (通过member删除)

zrem key1 value1 #返回数字删除的数量

zremrangebyrank (通过索引删除)

zremrangebyrank key1 0 1 #返回删除的数量,从底到高删除

zremrangebyscore (通过成绩删除)

  • ( 符号代表不包含 (1 10意思就是 1 < score ≤10
zremrangebyscore key1 (1 10 #返回数字删除的数量

zincrby (分数修改)

zincreby key1 10 member1 #返回数组member1的分数

zrange (取所有member)

zrange key1 0 -1   #返回数组字符串,根据成绩从小到大排序
zrevrange key1 0 -1 #返回数组字符串,根据成绩从大到小排序

zrangebyscore (筛选成绩取member)

zrangebyscore key1 (1 10    #返回数组字符串,根据成绩从小到大排序
zrevrangebyscore key1 (10 1 #返回数组字符串,根据成绩从大到小排序

zscore (取成员score)

zscore key1 member1 #返回数字value1的成绩

zrank (获取member排名)

zrank key1 member1   #返回数字member1从小到大的排名
zrerank key1 member1 #返回数字member1从大到小的排名

zcard (取member数量)

zcard key1 #返回数字key1的成员数

zcount (成绩筛选个数)

zcount key1 (10 30 #返回数字,成绩10<score≤30的数量

Redis 事务

multi (开启事务)

exec (执行命令)

执行过程中如果有某一行命令执行错误,不会耽误其他命令执行

multi
set age 18
set name wang
exec

discard (取消事务)

multi
set age 18
set name wang
discard

watch (监听数据)

  • 可以同时监听多个

  • unwatch (取消监听)

set age 18
watch age
multi
set age 20
exec

Redis Stream(队列)

xadd (添加消息到末尾)

XADD key ID field value [field value ...] 

#返回字符串为消息ID
#消息ID必须是数字且必须是唯一的
#消息ID可以自己生成也可以使用*号来代替,而且要比上一次添加的大

xdel (删除消息)

xdell key1 消息id #返回数字0或1

xtrim (修剪消息)

xtrim key1 maxleng 2 #返回数字删除了的数量,留下最新的消息

xrange (获取消息)

  • 减号表示最小值,或者输入数字

  • 加号表示最大值,或者输入数字

xrange key1 - +    #返回数组字符串,从最开始到最新
xrevrange key1 - + #返回数组字符串,从最新到最开始

xlen (获取消息长度)

xlen key1 #返回数字消息数量

xread (读取消息)

xread [count] [block] streams key [key ...] id [id ...]

一个流和多个客户端,并且你希望所有的客户端都获取到完整的信息

  • count 参数不设置就是读取所有,设置就是读取具体的数量

  • block 参数设置0就是永久等待,单位毫秒

  • 注意: 有几个key就要有几个id,格式: key key id id

  • id 参数可以设置为$、0、0-0、具体数字

  • $符号和block参数一起用,用来获取最新的消息

  • 0和0-0意思相同,消息id格式为时间戳-序号,所以0-0就是从0时间0序号开始

xgroup create (创建消费者组)

xgroup create key1 groupname 0|0-0|$ #返回字符串OK,不可重复,$符号代表读取最新

xgroup destroy (删除消费者组)

xgroup destroy key1 groupname #返回数字0或1删除的数量,删除之后消息需要重新ack

xgroup delconsumer (删除消费者)

xgroup delconsumer key1 grouname consumer #返回数字0或1删除的数量

xgroup setid (修改递送消息id)

xgroup setid key1 groupname 0|0-0|$ #返回字符串OK,常用来获取已获取但未ack的消息

xack (消费者确认消息)

xack key1 groupname id #返回数字0或1成功确认的数量

xreadgroup (消费者读取消息)

一个流和多个客户端,并且你希望在你的客户端上对流进行分区或共享,以便每个客户端都能获得一个到达流的消息的子集

  • noack参数代表消息已读取并设置已经确认

  • id值可为 >|0|0-0|具体id ,>符号代表获取最新的消息

xreadgroup group groupname consumer [count] [block] [noack] streams key [key ...] ID [ID ...]

xpending (获取待处理消息)

xpending key1 groupname [start end count] [consumer]

xinfo stream (获取流信息)

xinfo stream key1 #返回数组字符串

xinfo groups (获取消费组)

xinfo groups key1 #返回数组字符串

xinfo consumers (获取消费者)

xinfo consumers key1 grouname #返回数组字符串
springboot集成lettuce redistemplate常见5种类型的使用 阅读详情

相关推荐

PaddleOCR 与 PaddleX 调试

本文介绍了PaddleOCR与PaddleX的安装调试过程及应用对比。首先详细说明了环境准备步骤,包括安装ccache、设置环境变量及创建conda虚拟环境,提供了精简安装和源码安装两种方式。接着展示了使用PaddleOCR进行发票和手写汉字识别的测试结果,指出部分手写识别存在误差。随后对比了两者的差异:PaddleOCR专注于OCR算法优化,PaddleX则提供全流程工具链和标准化部署方案。最后演示了如何通过PaddleX部署OCR服务,包括API启动方法和客户端调用示例,为开发者提供了两种不同场景下的O

weixin_42176639的博客 1449

Redis基本使用案例

说出以上使用案例,说明你使用过redis,面试官会认为你真正的使用过redis

啊勇的博客 1990

Win11内核隔离无法打开的解决方案详解

内核隔离问题的解决需遵循"先硬件后软件"的排查原则,90%以上的案例可通过驱动清理或外设断开解决。对于必须禁用该功能的用户,建议定期使用Windows Defender进行全盘扫描,并保持系统更新至最新版本。技术决策需在安全性和兼容性之间取得平衡,本文提供的多维解决方案可帮助用户构建更稳定的Windows 11使用环境。

mmoo_python的博客 4810

Redis的基本使用和示例

这是redis的基本使用和示例的笔记。通过学习 狂神说java up主的视频进行记录的。

weixin_49745405的博客 907

手把手教你用XC7A35T FPGA搭建低成本机器视觉系统(含开发板选型指南)

本文详细介绍了如何利用AMD(原Xilinx)Artix-7系列中的XC7A35T FPGA芯片,搭建一套低成本的机器视觉系统。内容涵盖从芯片选型深度剖析、开发板(如黑金AX7035B)对比指南,到使用Vivado创建工程、编写图像处理模块(如RGB转灰度),以及资源优化和与上位机(如OpenCV)协同工作的完整流程,旨在为开发者提供一套可实践的高性价比硬件加速视觉解决方案。

beta5的博客 344

Delta-Sigma调制(DSM)技术

前言 数字信号处理和通信系统的性能很大程度上受到了模拟信号到数字信号转换接口——ADC的精度和分辨率的限制。而传统的线性脉冲编码调制(PCM)ADC受到了制造工艺的限制,无法达到很高的分辨率。但基于Delta-Sigma调制技术的ADC可以在现有工艺下实现高分辨率(大于16位),同时由于结构简单,所以易于实现。低成本高性能使得Delta-Sigma调制技术得到了广泛的应用。 Delta-Sigma型ADC的结构原理图如下图所示: 它最大的优势在于仅用1位ADC进行数据转换,同时其模拟电路部分结构简单不需要

阿星的博客 2万+

Redis用法详细总结

文章目录1 Redis简介1.1 关系型数据库的特点1.2 Redis的特点1.3 Redis开发中的应用2 Redis的安装1. 上传 redis-3.x.x.tar.gz 到linux虚拟机的 /opt 文件夹2. 安装gcc3. 解压缩 redis-3.x.x.tar.gz4. 进入到redis根目录,进行编译、安装5. 将 redis-3.x.x/redis.conf 复制到 /etc/redis/目录下6. 启动redis3 Redis客户端的使用1. 打开客户端2. 关闭redis数据库3. 关

木泽锐 2080

使用 ABAP 代码动态创建新的 Function Module

通过内表。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 6897

Redis 基本命令—— 超详细操作演示!!!

Redis 基础命令大全

weixin_43412762的博客 5129

【工程师一次性讲明白系列】什么是电压驻波比 (VSWR)

电压驻波比(VSWR)是电信号传输过程中非常重要的指标,控制VSWR的大小可以提高信号传输效率和系统稳定性。通过优化阻抗匹配,可以有效地减少反射信号,提升通信质量!🚀📡。

weixin_43199439的博客 1283

OpenOCD入门到精通:第 1 章 OpenOCD 概述

OpenOCD是一款开源的片上调试工具,支持60+调试适配器和8大处理器架构。它提供三大核心功能:片上调试、在系统编程和边界扫描测试。作为嵌入式开发工具链的中间桥梁,OpenOCD连接上层IDE/GDB与底层硬件,采用分层架构设计实现硬件兼容性。其配置基于Tcl脚本语言,支持网络服务接口,广泛应用于ARM、RISC-V等芯片的调试与烧录场景。

从事嵌入式linux android驱动开发,拥有全栈能力 1391

Redis教程(五):Set数据类型例子解析

Redis 的 Set 数据类型是一个无序集合,它能够存储一组不重复的字符串元素。:返回一个集合和其它集合的差集,并将结果保存在指定的新集合中。:所有给定集合的并集存储在 destination 集合中。:返回给定所有集合的交集,并将结果保存在指定的新集合中。:从集合中随机返回一个或多个元素,但不移除它们。:从集合中随机移除并返回一个元素。:返回一个集合和其它集合的差集。:从集合中移除一个或多个成员。:返回给定所有集合的交集。:返回所有给定集合的并集。:返回集合中的所有成员。:获取集合的成员数。

IT老农民的博客 873

贝叶斯地理统计模型R-INLA-1

贝叶斯地理统计模型R-INLA-1

学习中 2424

【详解】Redis常用命令集合

Redis 是一个开源的、基于键值对存储的 NoSQL 数据库,它支持多种数据结构,如字符串(String)、列表(List)、集合(Set)、有序集合(Sorted Set)和哈希表(Hash)。Redis(Remote Dictionary Server)是一个开源的、基于键值对存储的NoSQL数据库,它支持多种数据结构如字符串(String)、哈希(Hash)、列表(List)、集合(Set)及有序集合(Sorted Set)。通过这些基本命令,你可以实现数据的增删改查以及更复杂的数据结构操作。

牛肉胡辣汤 3250

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Redis数据库 ---- 五种数据类型常用命令汇总

文章汇总了Redis字符串,列表,集合,有序集合,哈希五大数据类型的常用命令以及这五种数据类型的实现的数据结构

小鱼干儿的博客 9134

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Redis常用命令(超详细整理)

服务器相关命令、key相关命令、String(字符串)、List(列表)、Set(集合)、Hash(哈希)、Zset(有序集合)

龙源IT 的博客 6万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【Redis】Zset有序集合常用命令以及使用场景

Zset有序集合常用命令、内部编码以及使用场景,最后讲解了渐进式遍历。

关关的博客 2747

【Redis篇】Set和Zset 有序集合基本使用

S。

chaodddddd的博客 3709

Redis 五大数据类型的常用命令——列表、集合、哈希、有序集合

各位小伙伴们大家好,欢迎来到这个小扎扎的Redis 6专栏,在这个系列专栏中我对B站尚硅谷的Redis教程进行一个总结,鉴于 看到就是学到、学到就是赚到 精神,这波依然是血赚 ┗|`O′|┛

扎哇太枣糕的笔记博客 1506

redis常用命令汇总

redis的命令你还在到处翻找吗?这里的命令足够你平时用了,快来联系一下吧

qq_44794280的博客 2万+

Redis下载以及Redis常用命令

Redis是一个基于内存的 key-value 结构数据库。Redis(Remote Dictionary Server)是一个开源的、基于内存的键值存储系统,同时可用作数据库、缓存和消息中间件。它由Salvatore Sanfilippo于2009年开发,以其高性能、灵活的数据结构和丰富的功能而闻名。

2301_78125917的博客 1369

【Redis】Set 集合常用命令以及使用场景

集合(Set)类型的值是字符串的无序集合,并且每个值都是唯一的。本文将介绍 Redis Set 的常用命令包含示例、Set的内部编码以及使用场景。

关关的博客 1230

深入浅出Redis【二】Redis的5种数据结构及其常用命令

注意事项:Redis可以存储键(key)值(value)对的映射,其中键(key)一直是String,而值可以是上面提到的5种数据结构中的一种。

mifffy_java的博客 1131

Redis集合(Set)使用详解:高效去重与集合运算实践

Redis集合(Set)是String类型的无序集合,集合成员具有唯一性,这使得Set成为处理去重数据的理想选择。

✨ 欢迎来到【Seal ^_^ 的CSDN博客】!✨ 7818

在Java中使用Redis

Redis学习笔记

qq_62015542的博客 4724
上一篇: Springboot打包war
dashu1017
博客等级 码龄7年 45粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值