Redis数据类型之String类型

Redis的String是最基本数据类型,二进制安全,可存储任何数据,最大512MB。常用命令包括SET(赋值,可覆盖)、GET(取值)、APPEND(拼接)、STRLEN(获取长度)、INCR/DECR(原子增减)。应用场景包括存储单个字符串、JSON数据、图片文件,以及作为计数器使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义

String是redis最基本的类型,一个key对应一个value。
String类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。
String类型是Redis最基本的数据类型,一个键最大能存储512MB。

常用语法命令

赋值:
1、Redis SET 命令用于设置给定 key 的值。如果 key 已经存储值, SET 就覆写旧值,且无视类型,多次设置name会覆盖

SET KEY_NAME VALUE

2、只有在 key 不存在时设置 key 的值,Setnx(SET if Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值,解决分布式锁 方案之一;如果key不存在,则设值并返回1,如果key存在,则不设值并返回0

SETNX key value

3、设置key的值为 value,过期时间为10秒,10秒后key被清除

SET key value EX 10

4、替换字符串

SETRANGE string range value

5、同时设置一个或多个 key-value 对

MSET key value [key value …]

取值:

1、Redis GET命令用于获取指定 key 的值。如果 key 不存在,返回 nil 。如果key 储存的值不是字符串类型,返回一个错误。

GET KEY_NAME

2、用于获取存储在指定 key 中字符串的子字符串。字符串的截取范围由 start 和 end 两个偏移量决定(包括 start 和 end 在内)

GETRANGE key start end

3、对 key 所储存的字符串值,获取指定偏移量上的位(bit)

GETBIT key offset

4、获取所有(一个或多个)给定 key 的值

MGET key1 [key2…]

5、Getset 命令用于设置指定 key 的值,并返回 key 的旧值,当 key 不存在时,返回 nil

GETSET KEY_NAME VALUE

STRLEN:
返回 key 所储存的字符串值的长度

STRLEN key

删除:

删除指定的KEY,如果存在,返回值数字类型。

DEL KEY_Name

自增/自减:
Incr 命令将 key 中储存的数字值增1。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作;

INCR KEY_Name

decR 命令将 key 中储存的数字减1

DECR KEY_NAME

Incrby 命令将 key 中储存的数字加上指定的增量值
自增:INCRBY KEY_Name 增量值
自减:DECYBY KEY_NAME 减值

字符串拼接:
Append 命令用于为指定的 key 追加至未尾,如果不存在,为其赋值

APPEND KEY_NAME VALUE

应用场景

1、String通常用于保存单个字符串或JSON字符串数据
2、因String是二进制安全的,所以你完全可以把一个图片文件的内容作为字符串来存储
3、计数器(常规key-value缓存应用。常规计数: 微博数, 粉丝数)

INCR等指令本身就具有原子操作的特性,可以利用redis的INCR、INCRBY、DECR、DECRBY等指令来实现原子计数的效果
假如,在某种场景下有3个客户端同时读取了num的值(值为2),然后对其同时进行了加1的操作,那么,最后num的值是5。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值