Redis-API-字符串

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

命令

设置值

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

参数列表:

参数名 描述
ex seconds 为键设置秒级过期时间
px milliseconds 为键设置毫秒级过期时间
nx 键必须不存在,才设置成功,用于添加
xx 键必须存在,才设置成功,用于更新
获取值
get key
image

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

image

批量设置值

mset key value [key value...]
image

批量获取值

mget key [key...]
image

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

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

计数

incr key

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

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

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

image

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

追加值

append key value
image

字符串长度

strlen key
image

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

设置并返回原值

getset key value
image

设置指定位置的字符

setrange key offset value
image

截取字符串

getrange key start end
image

内部编码

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

  • int
  • embstr
  • raw

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

image

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

image

典型使用场景

  1. 缓存功能
  2. 计数
  3. 共享 Session
  4. 限制用户操作速度,例如存储重新获取验证码的时间间隔
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • NOSQL类型简介键值对:会使用到一个哈希表,表中有一个特定的键和一个指针指向特定的数据,如redis,volde...
    MicoCube阅读 4,058评论 2 27
  • 本文将从Redis的基本特性入手,通过讲述Redis的数据结构和主要命令对Redis的基本能力进行直观介绍。之后概...
    kelgon阅读 61,264评论 23 625
  • 《Redis 入门指南》(第二版) 第一章 Redis 是什么 Redis (REmote Dictionary ...
    EdenPP阅读 67,330评论 3 10
  • 我想过的最美的遇见 是你在沙漠星空下的出现 像梦境一遍遍重演 一回头 一惊艳 我想过最美的遇见 是你踩着银杏踏过了...
    胡子不归阅读 363评论 6 9
  • ——瘦子离家胖子回 ——乡音无改肉成堆 ——儿童相见不相识 ——惊问胖子你是谁 以上回乡打油诗,摘自土匪大哥微信圈...
    民哥_财富教练阅读 139评论 0 0