redis:string类型常见命令

Redis可以作为一个非关系型数据库存储数据,存储形式为key-value,其中key是一定为字符串形式,而valueRedis则是给我们提供了多种数据形式,今天我们学习value为String的一些常见命令和重要知识点。


常见命令

下面是String类型平时用到的一些常见命令:

SET& GET

SET

  • 语法:SET KEY VALUE NX\|XX EX \| PX
  • 解释说明:SET操作是创建一个指定的键值对存储在redis中,如果key不存在,则创建一个新的key,值为value;如果key存在,就将value的值覆盖原值。
  • 附加选项【可加可不加,根据实际情况】

|----|------------------------------|
| NX | 如果key不存在才创建;如果key存在放回nil |
| XX | 如果key不存在不创建,返回nil;只有可以已存在才创建 |
| EX | 设置key的过期时间,单位为秒 |
| PX | 设置key的过期时间,单位为毫秒 |

GET

  • 语法:GET KEY
  • 解释说明:查询指定key的value如果key不存在返回nil

示例

MSET & MGET

MSET

  • 语法:MSET KEY1 VALUE1 KEY2 VALUE2 KEY3 VALUE3...
  • 解释说明:同时设置一个或多个key
  • 附加选项: KEY2 VALUE2 KEY3 VALUE3...表示既可以选择设置一个,也可以选择设置任意个key
  • 注意事项:若是key已经存在,则用value覆盖原值

MGET

  • 语法:MGET KEY1 KEY2 KEY3 ...
  • 解释说明:同时查询一组或多组key的值
  • 附加选项:KEY2 VALUE2 KEY3 VALUE3...表示既可以选择查询一组key的值,也可以查询任意组的值
  • 注意事项:如果key不存在,在对应的位置返回nil

示例

SETEX & SETNX & PSETNX

相当于上述的set key value ex/nx/px,这里不再赘述。

注意⚠️:没有SETXX这个操作!

INCR & INCRBY

INCR

  • 语法:INCR KEY
  • 解释说明:key的值value自增1

INCRBY

  • 语法:INCRBT KEY INCREMENT
  • 解释说明:key的值自增INCREMENT

示例

DECR & DECRBY

DECR

  • 语法:DECR KEY
  • 解释说明:key的值自减1

DECRBY

  • 语法:DECRBY KEY INCREMENT
  • 解释说明:key的值自减INCREMENT

示例

注意事项:value必须为整数,不能为其他类型,如果是自增/减INCREMENT,则INCREMENT也必须为整数

返回值均为设置后的数值

INCRBYFLOAT

  • 语法:INCRBYFLOAT KEY INCREMENT
  • 解释说明:key的值自增INCREMENT
  • 注意事项:key的值必须为浮点数,但INCREMENT整数浮点数均可
  • 返回值:操作后的数值

示例

STRLEN

  • 语法:STRLEN KEY
  • 解释说明:查询String字符串的长度
  • 注意事项:value必须为string,不能为其他数据类型。单位为字节。

示例

APPEND

  • 语法:APPEND KEY VALUE
  • 解释说明:在指定key的值后面添加value,相当于java中xx.append()操作
  • 返回值:操作后的长度,单位为字节

示例

注意:即使是int类型的字符串,也是看作string操作,并不是进行加法。

SETRANGE & GETRANGE

SETRANGE

  • 语法:SETRANGE KEY OFFSET VALUE
  • 解释说明:从key的offset偏移量开始用value覆盖原位置上的值
  • 注意:offset从零开始,操作后value的长度不一定为原值

GETRANGE

  • 语法:GETRANGE KEY START END
  • 解释说明:查询start,end区间value的值

示例

注意事项:如果getrange操作时,end超过长度,只返回到最后一个字节;如果start或end均超过原来的长度,返回"";如果start为负值,返回""。

相关推荐
黄连木笛14 分钟前
不改 Redis Insight 原有代码,把它汉化了:DOM 整段匹配 + XHR 拦截 + asar 重打包
redis·后端
byte轻骑兵1 小时前
时序数据库选型指南:Apache IoTDB 社区版实践与踩坑
数据库·人工智能·apache·时序数据库·iotdb
时间的拾荒人2 小时前
Redis 哨兵(Sentinel)详解:原理、选举机制与实战部署
redis·面试·架构·sentinel
黄连木笛2 小时前
Redis Insight 汉化教程:Windows / macOS / Linux 设置中文界面(附繁體、教程汉化、关闭自动更新)
数据库·redis·缓存
nice_lcj5202 小时前
MySQL 存储引擎入门:InnoDB 和 MyISAM 到底怎么选
java·数据库·mysql·面试·innodb·存储引擎·myisam
古典和浪漫3 小时前
MVCC机制
数据库
xixingzhe24 小时前
mysql全量、增量备份
数据库·mysql
AllData公司负责人11 小时前
AI大模型数据开发底座系列说明书,AllData集成Chat2DB开源项目建设AI 数据库分析底座,涵盖AI 洞察/对话SQL/智能视图!
数据库·人工智能·sql·开源·ai 洞察·对话sql
xixingzhe212 小时前
数据库备份的分类与特点
数据库