Redis字符串类型

/ Redis / 没有评论 / 397浏览

从今天开始我将重点分享一下Redis中的5种数据结构,今天我们学习一下第一种数据结构字符串。字符串是Redis中的最基础的数据结构。我们保存到Redis中的key,也就是键,就是字符串结构的,除此之外,我们以后学习的其它数据结构,也是在字符串的基础上设计的,可见字符串结构对于Redis是多么的重要。字符串中的值虽然是字符串但是可以保存很多种类型的如:简单的字符串、JSON、XML、二进制等等。但有一点要特别注意,就是在Redis中字符串类型的值最大只能保存512MB。


img


  1. 设置值
set key value [EX seconds] [PX milliseconds] [NX|XX]

img set命令有几个非必须的选项,下面我们看一下它们具体的说明


2.获取值

get key

img


3.批量设置值

mset key value

img


4.批量获取值

mget key

img 如果有些键不存在,那么它的值将为nil也就是空,并且返回的结果,就是按照传入键的顺序返回的。 img


5.计数

incr key

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

decr key 自减
incrby kek increment 自增指定数字
decrby key decrement 自减指定数字
incrbyfloat key increment 自增浮点数

img


6.追加值

append key value

append命令可以向字符串尾部追加值。 img


7.字符串长度

strlen key

img 由于每个中文占用3个字节,所以jilinwula这个键,返回是字符串长度为12,而不是4。


8.设置并返回原值

getset key value

img


9.设置指定位置的字符

setrange key offeset value

img


10.获取部分字符串

getrange key start end

img

命令时间复杂度
set key valueO(1)
get keyO(1)
del keyO(k) k是键的个数
mset key valueO(k) k是键的个数
mget keyO(k) k是键的个数
incr keyO(1)
decr keyO(1)
incrby key incrementO(1)
decrby keky incrementO(1)
incrbyfloat key iincrementO(1)
append key valueO(1)
strlen keyO(1)
setrange key offset valueO(1)
getrange key start endO(n) n是字符串长度

img