美文网首页
Redis-API-字符串

Redis-API-字符串

作者: 苏近之2017 | 来源:发表于2017-06-06 16:46 被阅读0次

    字符串的值能够表示数字(整数、浮点数),甚至是二进制(图片、音频、视频),但是值不能超过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. 限制用户操作速度,例如存储重新获取验证码的时间间隔

    相关文章

      网友评论

          本文标题:Redis-API-字符串

          本文链接:https://www.haomeiwen.com/subject/mnfnfxtx.html