【Redis】Redis 命令之 String

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 【Redis】Redis 命令之 String

⛄String 介绍



String 类型,也就是字符串类型,是Redis中最简单的存储类型。


其value是字符串,不过根据字符串的格式不同,又可以分为3类:


● string:普通字符串


● int:整数类型,可以做自增.自减操作


● float:浮点类型,可以做自增.自减操作


不管是哪种格式,底层都是字节数组形式存储,只不过是编码方式不同。字符串类型的最大空间不能超过 512 MB



⛄命令


🍎🍎String的常见命令有🍎🍎:


SET:添加或者修改已经存在的一个 String 类型的键值对


GET:根据 key 获取 String 类型的 value


MSET:批量添加多个String类型的键值对


MGET:根据多个 key 获取多个 String 类型的 value


INCR:让一个整型的key自增1


INCRBY:让一个整型的 key 自增并指定步长,例如:incrby num 2 让num值自增2


INCRBYFLOAT:让一个浮点类型的数字自增并指定步长


SETNX:添加一个 String 类型的键值对,前提是这个 key 不存在,否则不执行


SETEX:添加一个 String 类型的键值对,并且指定有效期


对应 RedisTemplate API


ValueOperations ops = redisTemplate.opsForValue();
//  单独设置有效期(不推荐单独用)
ops.expire("StringKey",1,TimeUnit.MINUTES);
//  设置值 and 有效期(推荐这种)
ops.set("key", "value", 1, TimeUnit.MINUTES);
//  操作数值 增加 减少(INCR INCRBY)
ops.increment("key", 1);
ops.increment("key", -1);
//  (SETNX + SETEX):这个key不存在执行 存在则不执行,多用于互斥锁
ops.setIfAbsent("key", "value", 10, TimeUnit.SECONDS)
//  获取缓存值
ops.get("StringKey");


⛄应用场景


下面列举了一些Redis String类型的应用场景:


  • 缓存:使用String保存缓存信息,如用户会话状态、web页面片段、数据库查询结果等。


  • 计数器:使用incr/decr命令实现对计数器的自增和自减,如网站访问量、文件下载次数、商品销售量等。


  • 消息队列:使用LPUSH/RPUSH命令实现队列的入队(左插入)和出队(右取出),同时使用BLPOP/BRPOP命令进行阻塞式弹出等待的消息。


  • id生成器:使用incr命令实现简单id生成,解决分布式系统节点间数据生成的问题。


  • 分布式锁:通过SETNX命令结合时间戳或随机字符串等实现互斥锁的获取和释放,避免并发写操作时数据的不一致。


  • 商品价格:使用String保存商品价格,动态更新价格避免价格无法及时调整。


  • Session共享:将session信息以key-value方式保存到redis中并设置过期时间,完成session共享功能,类似于分布式缓存。
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
2月前
|
NoSQL Java Redis
redis的基本命令,并用netty操作redis(不使用springboot或者spring框架)就单纯的用netty搞。
这篇文章介绍了Redis的基本命令,并展示了如何使用Netty框架直接与Redis服务器进行通信,包括设置Netty客户端、编写处理程序以及初始化Channel的完整示例代码。
67 1
redis的基本命令,并用netty操作redis(不使用springboot或者spring框架)就单纯的用netty搞。
|
2月前
|
NoSQL Redis
Redis 字符串(String)
10月更文挑战第16天
48 4
|
1月前
|
存储 NoSQL Java
Redis命令:列表模糊删除详解
通过本文的介绍,我们详细探讨了如何在Redis中实现列表的模糊删除。虽然Redis没有直接提供模糊删除命令,但可以通过组合使用 `LRANGE`和 `LREM`命令,并在客户端代码中进行模糊匹配,来实现这一功能。希望本文能帮助你在实际应用中更有效地操作Redis列表。
55 0
|
2月前
|
缓存 NoSQL 测试技术
Redis如何解决频繁的命令往返造成的性能瓶颈!
Redis如何解决频繁的命令往返造成的性能瓶颈!
|
2月前
|
存储 分布式计算 NoSQL
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
29 3
|
2月前
|
缓存 NoSQL Redis
Redis命令:列表模糊删除详解
Redis命令:列表模糊删除详解
84 3
|
2月前
|
NoSQL 关系型数据库 MySQL
Redis 事务特性、原理、具体命令操作全方位诠释 —— 零基础可学习
本文全面阐述了Redis事务的特性、原理、具体命令操作,指出Redis事务具有原子性但不保证一致性、持久性和隔离性,并解释了Redis事务的适用场景和WATCH命令的乐观锁机制。
368 0
Redis 事务特性、原理、具体命令操作全方位诠释 —— 零基础可学习
|
2月前
|
NoSQL Redis 数据安全/隐私保护
Redis 命令
10月更文挑战第15天
35 0
|
3月前
|
存储 缓存 NoSQL
Redis 过期删除策略与内存淘汰策略的区别及常用命令解析
Redis 过期删除策略与内存淘汰策略的区别及常用命令解析
82 0
|
存储 缓存 移动开发
Redis 命令执行过程(上)
今天我们来了解一下 Redis 命令执行的过程。在之前的文章中《当 Redis 发生高延迟时,到底发生了什么》我们曾简单的描述了一条命令的执行过程,本篇文章展示深入说明一下,加深读者对 Redis 的了解。
Redis 命令执行过程(上)
下一篇
DataWorks