【Redis】Redis 命令之 String

您所在的位置:网站首页 redis集合和哈希的区别 【Redis】Redis 命令之 String

【Redis】Redis 命令之 String

2023-05-27 07:41| 来源: 网络整理| 查看: 265

文章目录 ⛄String 介绍⛄命令⛄对应 RedisTemplate API⛄应用场景

⛄String 介绍

在这里插入图片描述

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

其value是字符串,不过根据字符串的格式不同,又可以分为3类: ● string:普通字符串 ● int:整数类型,可以做自增.自减操作 ● float:浮点类型,可以做自增.自减操作

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

Redis String命令

⛄命令

🍎🍎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共享功能,类似于分布式缓存。

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3