美文网首页java学习笔记整理
Redis数据类型及操作-string

Redis数据类型及操作-string

作者: _借东西的小人 | 来源:发表于2019-08-28 14:13 被阅读0次

    strings类型及操作

    string是最简单的类型.一个Key对应一个Value.string类型是二进制安全的,可以包含任何数据,比如图片或者序列化的对象.
    set
    设置key对应值为string类型的value,如添加一个name=zr的键值对:
    set name zr

    image.png
    setnx
    设置key对应的值为string类型的value.如果key已经存在,返回0,nx是not exist的意思
    get name
    image.png
    image.png
    由于原来的那么有一个对应的值,所以本次修改不生效,且返回码是0.
    setex
    设置key对应的值为string类型的value,并指定此键值对应的有效期.如指定有效期为10秒
    setex haircolor 10 red image.png

    由于最后一次调用是10秒以后了,所以取不到haircolor这个键对应的值.

    setrange
    设置指定key的value值的子字符串,如我们希望将zr的126邮箱更改为gmail邮箱:
    setrange name 4 gamil.com

    image.png
    其中的4是指从下标为4(包含4)的字符串开始替换
    mset
    一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置.
    mset key1 zr1 key2 zr2
    image.png
    msetnx
    一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置,但是不会覆盖已经存在的key.
    msetnx key2 zr_new key3 zr3
    image.png
    可以看出如果这条命令返回0,那么里面的错做都会回滚,都不会被执行.
    get
    获取key对应的string值,如果key不存在返回nil
    image.png
    getset
    设置key的值,并返回key的旧值
    getset name zr_name
    image.png
    如果key不存在,那么将返回nil.
    getrange
    获取指定key的value的子字符串
    getrange name 0 6
    image.png
    字符串左面下标是从0开始的,右面下标是从-1开始的,当下标超出字符串长度时,将默认为是同方向的最大下标.
    mget
    一次获取多个key的值,如果对应key不存在,则对应返回nil
    mget key1 key2 key3

    incr
    对key的值做加加操作,并返回新的值
    注意:incr一个不是int的value会返回错误,increase一个不存在的key,则设置key为1
    image.png
    incrby
    同incr类似,加指定值,key不存在时候会设置key,并认为原来的value是0
    image.png
    decr
    对key的值做的事减减操作,decr一个不存在key,则设置key为-1.
    image.png
    decrby
    同decr类似,减指定值,key不存在时候会设置key,并认为原来的value是0.
    image.png
    append
    给指定key的字符串值追加value,返回新字符串值的长度.
    append name @126.com
    image.png
    strlen
    取指定key的value值的长度
    strlen name
    image.png

    相关文章

      网友评论

        本文标题:Redis数据类型及操作-string

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