java学习笔记整理

Redis数据类型及操作-string

2019-08-28  本文已影响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
上一篇下一篇

猜你喜欢

热点阅读