Redis基础命令、数据类型详解

redis(1):redis的基础数据类型以及常用相关命令详解 1.基础数据类型 1.1 概述 使用Redis进行应用设计和开发的一个核心概念是数据类型。与关系数据库不同,在Redis中不存在需要我们担心的表,在使用Redis进行应用设计和开发时,我们首先应该考虑的是Redis原生支持的哪种数据类型阳适合我们的应该场景,此外,我们无法像在关系数据库中那样,使用sql来操作Redis中的数据,相反,我们需要直接使用API发送数据反对应的命令,来操作想要操作的数据 1.2 字符串类型Map<String,String> 字符串类型是... 阅读详情

一.Redis命令

1.ping

查看redis健康状态

2.key value

1)存储和查找

get获取内容都是以字符串进行保存的

127.0.0.1:6379> set str1 abc
OK
127.0.0.1:6379> get str1
"abc"
127.0.0.1:6379> 

2)查看所有key

127.0.0.1:6379> keys *
1) "str1"
127.0.0.1:6379>

3)incr使用:加一

值加一操作,如果错误

127.0.0.1:6379> incr key1
(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.

运行config set stop-writes-on-bgsave-error no在使用incr

127.0.0.1:6379> config set stop-writes-on-bgsave-error no
OK
127.0.0.1:6379> incr key1
(integer) 1
127.0.0.1:6379> 

incr:创建key默认是0,然后加一,incr key1=1

127.0.0.1:6379> incr key1
(integer) 1
127.0.0.1:6379> keys *
1) "str1"
2) "key1"
127.0.0.1:6379> get key1
"1"
127.0.0.1:6379> incr key1
(integer) 2
127.0.0.1:6379> get key1
"2"
127.0.0.1:6379> keys *
1) "str1"
2) "key1"
127.0.0.1:6379>

4)decr使用:减一

127.0.0.1:6379> decr key1
(integer) 0
127.0.0.1:6379> get key1
"0"
127.0.0.1:6379> decr key1
(integer) -1
127.0.0.1:6379> get key1
"-1"
127.0.0.1:6379> 

5)删除key

127.0.0.1:6379> keys *
1) "str1"
2) "key1"
127.0.0.1:6379> del key1
(integer) 1
127.0.0.1:6379> keys *
1) "str1"
127.0.0.1:6379> 

二.哈希

1.创建了一个hash1类型的field1的值是1

1).增加一个

127.0.0.1:6379> hset hash1 field1 1
(integer) 1
127.0.0.1:6379> 

2).在向hash1中增加一个

127.0.0.1:6379> hset hash1 field2 a
(integer) 1
127.0.0.1:6379> 

2.获取hash1值

127.0.0.1:6379> hget hash1 field1
"1"
127.0.0.1:6379> 

3.查看key

1)查看所有key

127.0.0.1:6379> keys *
1) "hash1"
2) "str1"
3) "key1"
127.0.0.1:6379>

2)hash1的所有key

127.0.0.1:6379> hkeys hash1
1) "field1"
2) "field2"
127.0.0.1:6379> 

4.查看hash1所有值

127.0.0.1:6379> hvals hash1
1) "1"
2) "a"
127.0.0.1:6379> 

5.获取hash1的key和值

127.0.0.1:6379> hgetall hash1
1) "field1"
2) "1"
3) "field2"
4) "a"
127.0.0.1:6379> 

6.删除field2

127.0.0.1:6379> hdel hash1 field2
(integer) 1
127.0.0.1:6379> hkeys hash1
1) "field1"
127.0.0.1:6379> 

三.其它数据类型

1.List

适合做排队的事情

//从左面添加数据集
127.0.0.1:6379> lpush list1 1 2 3 4 5 6 
(integer) 6
//从右面添加收据
127.0.0.1:6379> rpush list1 a b c d e
(integer) 11
//查看所有数据,0:是起始位置,-1:是结束位置,查看全部填写-1
127.0.0.1:6379> lrange list1 0 -1
 1) "6"
 2) "5"
 3) "4"
 4) "3"
 5) "2"
 6) "1"
 7) "a"
 8) "b"
 9) "c"
10) "d"
11) "e"
//从左面获取数据
127.0.0.1:6379> lpop list1
"6"
//获取玩数据,数据就不在list中存在了
127.0.0.1:6379> lrange list1 0 -1
 1) "5"
 2) "4"
 3) "3"
 4) "2"
 5) "1"
 6) "a"
 7) "b"
 8) "c"
 9) "d"
10) "e"
//从右面获取数据
127.0.0.1:6379> rpop list1
"e"
//获取玩数据,数据将不在list中存在了
127.0.0.1:6379> lrange list1 0 -1
1) "5"
2) "4"
3) "3"
4) "2"
5) "1"
6) "a"
7) "b"
8) "c"
9) "d"
127.0.0.1:6379> 

2.Set

//会自动过滤掉重复数据
127.0.0.1:6379> sadd set1 a b a b c d
(integer) 4
//删除元素a
127.0.0.1:6379> srem set1 a
(integer) 1
//查看当前set1中所有元素
127.0.0.1:6379> smembers set1
1) "b"
2) "d"
3) "c"

//创建两个set变量
127.0.0.1:6379> sadd seta a b c d e
(integer) 5
127.0.0.1:6379> sadd setb c d e f g
(integer) 5
//获取差集:seta-setb
127.0.0.1:6379> sdiff seta setb
1) "b"
2) "a"
//获取差集:setb-seta
127.0.0.1:6379> sdiff setb seta
1) "g"
2) "f"
//获取并集
127.0.0.1:6379> sinter seta setb
1) "e"
2) "c"
3) "d"
//获取交集
127.0.0.1:6379> sunion seta setb
1) "e"
2) "g"
3) "c"
4) "d"
5) "b"
6) "f"
7) "a"
127.0.0.1:6379> 

3.ZSet

//去重并排序
127.0.0.1:6379> zadd zset1 1 a 3 b 2 c 5 d
(integer) 4
//获取全部数据
127.0.0.1:6379> zrange zset1 0 -1
1) "a"
2) "c"
3) "b"
4) "d"
//删除a
127.0.0.1:6379> zrem zset1 a
(integer) 1
127.0.0.1:6379> zrange zset1 0 -1
1) "b"
2) "c"
3) "d"
//降序排列
127.0.0.1:6379> zrevrange zset1 0 -1
1) "d"
2) "c"
3) "b"
//带分数取数
127.0.0.1:6379> zrevrange zset1 0 -1 withscores
1) "d"
2) "5"
3) "c"
4) "3"
5) "b"
6) "2"
127.0.0.1:6379> zrange zset1 0 -1 withscores
1) "c"
2) "2"
3) "b"
4) "3"
5) "d"
6) "5"
127.0.0.1:6379> 

4.key过期时间

127.0.0.1:6379> keys *
1) "zset1"
2) "str1"
3) "list1"
4) "key1"
5) "setb"
6) "hash1"
7) "seta"
8) "set1"
//100秒后key1会被删除
127.0.0.1:6379> expire key1 100
(integer) 1
//查看key1还有多长时间过期
127.0.0.1:6379> ttl key1
(integer) 36
//如果看到的是-1:那么是永久保存持久化的,如果是-2:说明key不存在
127.0.0.1:6379> ttl key1
(integer) -2
127.0.0.1:6379> set key1 100
OK
127.0.0.1:6379> get key1
"100"
127.0.0.1:6379> expire key1 60
(integer) 1
127.0.0.1:6379> ttl key1
(integer) 56
//重置过期时间
127.0.0.1:6379> expire key1 60
(integer) 1
127.0.0.1:6379> ttl key1
(integer) 58
//持久化保存
127.0.0.1:6379> Persist key1
(integer) 1
127.0.0.1:6379> ttl key1
(integer) -1
127.0.0.1:6379> 

Redis基础命令及哈希数据类型详解 本篇博客深入探讨Redis的常用命令,包括INCRBY, INCRBYFLOAT, DECR, DECRBY和APPEND等操作字符串数据的方法,以及如何使用哈希数据类型存储对象信息。通过具体实例,让读者更好地理解Redis命令的使用场景和效果。 阅读详情

相关推荐

Python 包安装报错:ERROR: No matching distribution found for xxx 的全面排查指南

本文全面解析Python包安装时常见的`ERROR: No matching distribution found for xxx`报错。从检查包名拼写、网络与镜像源配置,到深入分析Python版本、操作系统等环境兼容性问题,提供了从简到繁的排查步骤。文章还介绍了使用`pip debug`、`-v`参数等高级诊断工具,并给出了更换包管理器、使用Docker等终极解决方案,帮助开发者高效解决依赖安装难题。

p8q9r0的博客 897

Redis基础篇——Redis常见命令及数据类型详解

Redis是一个key-value的数据库,key 一般是 String 类型,不过value的类型多种多样.... redis常见命令和数据类型详解

Biteht的博客 1212

Datalog语言详解

Datalog是一种声明式逻辑编程语言,起源于数据库理论和逻辑编程领域。作为Prolog的子集,它专注于递归查询和推理,通过定义事实和规则来描述数据关系而非计算步骤。Datalog的关键特性包括规则安全、递归、分层否定和扩展聚合功能,保证了程序的终止性和高效性。相较于SQL,Datalog更擅长处理递归查询;相比Prolog,它更注重数据库友好性。Datalog在程序分析、知识图谱、网络安全等领域有广泛应用,其声明式特性使代码简洁易维护,但同时也面临生态系统小、性能调试难等挑战。现代工具如Soufflé、D

bulita great world 1843

Redis:基础篇——五种数据类型及分别对应的命令详解

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 String(字符串) string 是 redis 最基本的类型。 特征:一个 key 对应一个 value。           string 类型是二进制安全的,可进行位运算。           string 类型的值最大能存储 5...

小黑鹅的专栏 415

告别手动标注!用ENVI Classic高效搞定高光谱图像语义分割标签(以农业/地物分类为例)

本文详细介绍了如何利用ENVI Classic实现高光谱图像的半自动化智能标注,特别针对农业和地物分类场景。通过光谱特征分析、智能标注技巧和MAT文件转换,显著提升标注效率和质量,助力AI模型训练。

weixin_28694169的博客 251

qcc51xx如何配置spdif输入

qcc51xx如何配置spdif输入。

Alex_886的博客 1373

Redis五大基础数据类型命令详解与经典应用场景

Redis作为高并发系统的核心缓存组件,其五大基础数据类型的选型直接决定架构性能。本文深度拆解String原子操作与分布式锁实现、Hash对象缓存及购物车设计、List栈队列模拟与阻塞队列应用、Set数学运算在社交关系链中的妙用,以及ZSet实时排行榜的完整闭环。重点攻克Hash集群单点限制、List大Key风险、ZSet跨时间维度聚合计算等难点,助你从命令层面到业务场景精准驾驭Redis数据结构。

海市公约的博客 483

多维时空数据介绍(4)多维栅格数据构建

上图中包含了经度、纬度和时间三个维度,其变量为经度、纬度、时间以及降雨量,对应的变量单位为东经多少度、北纬多少度、阳历1895-1-1日开始多少天以及每年降雨多少毫升,其中经度数值4个、纬度数值3个、时间数值2个都是一维的数据,而降雨量是一个包含经度、纬度、时间的三维数组,数值有4*3*2=24个。在GeoScene 中NetCDF数据可以用做多种多维时空数据的数据源,进行创建、可视化和分析,它可以是多维栅格数据、时空立方体,还可以是体元图层,区别在于其所要表示的内容和目的。变量又分为坐标变量和属性变量。

你好,我是小张同学! 1286

Redis基础(超详解)一 :Redis定义、SQL与NoSQL区别、Redis常用命令、Redis五种数据类型、String、List、Set、Hash、ZSet;Redis的Java客户端

Redis定义、SQL与NoSQL区别、Redis常用命令、Redis五种数据类型、String、List、Set、Hash、ZSet,及对应常用命令;Redis的Java客户端

qq_44700578的博客 3137

36 Agent Memory:如何让智能体记住该记的东西

Agent 会调用工具,只能说明它有了行动能力。要让它跨会话、跨任务持续工作,还需要一套可治理的 Memory 系统。本文讲清上下文窗口、RAG 和 Agent Memory 的区别,以及工作记忆、情景记忆、语义记忆、程序记忆该如何分层设计。

老于的笔记的专栏 89

【OS】AUTOSAR OS系统调用产生Trap的过程详解

AUTOSAR OS系统调用产生Trap的过程详解

qq_36056498的博客 2438

Redis基础-----五大基本数据类型与四大高级类型详解(命令、示例及使用场景)

基础类型选型:需要简单键值存储 → String维护有序列表(如消息队列) → List存储对象属性 → Hash去重集合运算 → Set排行榜/延迟队列 → ZSet高级类型选型:二值状态统计(如签到) → Bitmap大数据量去重计数 → HyperLogLog地理位置服务 → GEO消息流处理 → Stream。

凝孑哒哒哒的博客 949

2026华为OD面试手撕代码真题目录

一般面试的时候每一轮技术面都会出一到两个手撕代码题,这些题的特点就是,非常短小,易于理解。不可能会再出阅读理解一样的机试题的。但是这些题目也非常注意基本功,很注意细节的处理,一般都是easy+medium题目。但是大家一定要注意,因为大部分面试官上面一开始就会让你做题,直接看你所有的做题过程(防止有人水平一般,机试就网上找的答案的蒙混过关),手撕代码题会给你后面的面试定一个基调。

MISAYAONE的博客 9万+

Redis的数据类型

Redis主要数据类型及常用命令速查指南 本文整理了Redis五种核心数据类型的常用命令及其应用场景: String类型: 基础操作:SET/GET/SETNX(分布式锁) 批量操作:MSET/MGET(减少网络开销) 数字操作:INCR/INCRBY(计数器)、INCRBYFLOAT 有效期控制:SETEX/PSETEX(自动过期) Hash类型: 字段操作:HSET/HGET/HMSET/HMGET 批量查询:HGETALL/HKEYS/HVALS 数字增减:HINCRBY 防覆盖写入:HSETNX L

Saness1y的博客 978

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Redis常用命令详解:从基础到高阶应用指南

redis-cli。

longdong7889的博客 744

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Redis-01-基础-redis简介安装、数据类型、常用命令、使用Spring Data Redis封装好的命令方法操作redis

Redis是一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件,它是「RemoteDictionaryService」的首字母缩写,也就是「远程字典服务」。基于内存存储,读写性能高适合存储热点数据(热点商品、资讯、新闻)企业应用广泛。

树叶子的博客 917

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

学会Redis初安装和五种数据类型一篇就够了!

详细介绍了非关系型数据库redis数据库的部署和初管理,以及redis数据库5种数据类型的分别创建。

下一个艺术家 625

43-Redis-基础篇

Redis应用场景缓存任务队列消息队列分布式锁任意创建一个Java工程即可导入依赖

cygqtt的博客 557

Redis教程及命令大全

Redis 基础教程 Redis 教程、Redis 安装、Redis 配置、Redis 数据类型 Redis 命令 Redis 命令、Redis 键(key)、Redis DEL 命令、Redis Dump 命令、Redis EXISTS 命令、Redis Expire 命令、Redis Expireat 命令、Redis PEXPIREAT 命令、Redis PEXPIREAT 命令、Re...

ixiaoyang的专栏 822

一、Redis基础

Redis基础知识

ALLWE的博客 617

Redis 原理与配置优化(五种数据类型+常用键设置)

非关系型数据库之Redis关系数据库与关系型数据库非关系型数据库产生背景关系数据库与非关系型数据库的区别Redis简介Redis的相关配置redis常规命令redis-cli命令行工具key相关命令redis-benchmark测试工具Redis多数据库操作安装redis 关系数据库与关系型数据库 ■ 关系型数据库: 一个结构化的数据库,创建在关系模型基础上 一般面向于记录 包括:Oracle、MySQL、SQL Server、Microsoft Access、DB2等 ■ 非关系型数据库 除了主流的

著名艺术家 1045

Redis 客户端使用教程(命令行 + Redis Desktop Manager 可视化工具)

本文介绍了Redis的两种客户端工具:命令行客户端redis-cli和可视化工具RedisDesktopManager(RDM)。redis-cli适用于快速命令调试和脚本执行,支持基础连接、键值操作和无交互执行。RDM是跨平台可视化工具,提供直观的键值管理、数据类型识别、批量操作等功能,适合开发调试。两种工具各有优势:命令行工具适合服务器调试和简单操作,RDM则更适合本地开发、数据排查等复杂场景。文章详细说明了两种工具的具体使用方法和典型应用场景,帮助开发者根据需求合理选择。

2402_87794035的博客 596
上一篇: Linux使用Redis客户端连接Redis
下一篇: Linux搭建Redis集群
影孓
博客等级 码龄10年 1930粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

影孓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值