Redis字符串命令详解

本文介绍了Redis中的String数据类型,包括其基本概念、常用的set、get等命令,以及SDS数据结构特点。重点讲解了字符串操作如set、append、incr等,适合了解Redis字符串存储的开发者。
摘要由CSDN通过智能技术生成

2.2 字符串String

2.2.1 简介

​ Redis最基本的数据类型之一,可以理解成与Memcache一样的string类型,一个key对应1个value它是二进制安全的,意味着可以包含任何数据,如jpg图片、序列化的对象。String类value大小限制为512M。

2.2.2 常用命令

​ set :添加键值对

​ *NX:当数据库中key不存在时,可以将key-value添加数据库

​ *XX:当数据库中key存在时,可以将key-value添加数据库,与NX参数互斥

​ *EX:key的超时秒数

​ *PX:key的超时毫秒数,与EX互斥

​ get :查询对应键值a

​ append :将给定的 追加到原值的末尾

在这里插入图片描述

​ strlen :获得值的长度

​ setnx :只有在 key 不存在时 设置 key 的值

在这里插入图片描述

​ incr :将 key 中储存的数字值增1(只能对数字值操作,如果为空,新增值为1)

​ decr :将 key 中储存的数字值减1(只能对数字值操作,如果为空,新增值为-1)

​ incrby <步长>:将 key 中储存的数字值增加步长数值,自定义步长

​ incrby <步长>:将 key 中储存的数字值减少步长数值,自定义步长

在这里插入图片描述

​ incrbyfloat <步长>:将 key 中储存的浮点型数值增加步长数值,自定义步长

在这里插入图片描述

​ mset :同时设置一个或多个 key-value对

​ mget :同时获取一个或多个 value

​ msetnx … 同时设置一个或多个 K-V,当且仅当所有给定 key 都不存在时成功

​ getrange <起始位置><结束位置>: 获得值的范围,类似java中的substring,包前也包后[闭区间]

​ setrange <起始位置>:用 覆写所储存的字符串值,从<起始位置>开始(索引从0开始)

​ setex <过期时间>:设置键值的同时,设置过期时间,单位秒

​ getset :以新换旧,设置了新值同时获得旧值

2.2.3 数据结构

​ String的数据结构为简单动态字符串(Simple Dynamic String,缩写SDS)。是可以修改的字符串,内部结构实现上类似于Java的ArrayList,采用预分配冗余空间的方式来减少内存的频繁分配。

在这里插入图片描述

​ 内部为当前字符串实际分配的空间capacity一般要高于实际字符串长度len。当字符串长度小于1M时,扩容都是加倍现有的空间,如果超过1M,扩容时一次只会多扩1M的空间。需要注意的是字符串最大长度为512M。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值