Redis-API-字符串

字符串的值能够表示数字(整数、浮点数),甚至是二进制(图片、音频、视频),但是值不能超过512MB。

命令

设置值

set key value [ex seconds] [px milliseconds] [nx|xx]
image

参数列表:

参数名 描述
ex seconds 为键设置秒级过期时间
px milliseconds 为键设置毫秒级过期时间
nx 键必须不存在,才设置成功,用于添加
xx 键必须存在,才设置成功,用于更新
获取值
get key
Redis-API-字符串_第1张图片
image

如果键不存在,则返回 nil(空):

image

批量设置值

mset key value [key value...]
image

批量获取值

mget key [key...]
Redis-API-字符串_第2张图片
image

使用批量操作命令可以节省网络时间,提高开发效率。

因为 Redis 的处理能力已经足够高了,对于开发人员来说,网络可能会成为性能的瓶颈。

计数

incr key

incr命令用于对值做自增操作,返回结果分为三种:

  • 值不是整数,返回错误
  • 值是整数,返回自增后的结果
  • 键不存在,按照值为0自增,返回结果为1

如果值不为整数,那么会返回错误

image

除了 incr命令,Redis 提供了 decr(自减)、incrby(自增指定数字)、decrby(自减指定数字)、incrbyfloat(自增浮点数)。

追加值

append key value
Redis-API-字符串_第3张图片
image

字符串长度

strlen key
Redis-API-字符串_第4张图片
image

如果是中文,则每个字符占 3 个字节。

设置并返回原值

getset key value
image

设置指定位置的字符

setrange key offset value
Redis-API-字符串_第5张图片
image

截取字符串

getrange key start end
image

内部编码

字符串类型的内部编码有3种:

  • int
  • embstr
  • raw

Redis 会根据当前值的类型和长度决定使用哪种内部编码实现。

Redis-API-字符串_第6张图片
image

长字符是值大于 39 个字符,使用 raw。

image

典型使用场景

  1. 缓存功能
  2. 计数
  3. 共享 Session
  4. 限制用户操作速度,例如存储重新获取验证码的时间间隔

你可能感兴趣的:(Redis-API-字符串)