redis是一个键值型数据库,值的类型五花八门各种各样,String类型是字符串类型,是Redis中最简单的存储类型,用起来也非常简单和方便
介绍
当value是字符串类型时,根据字符串的格式不同,又可以分为3类:
string
: 普通字符串int
: 整数类型,可以做自增,自减操作float
: 浮点类型,可以做自增,自减操作
不管是哪种格式的字符串值,底层都是字节数组形式存储,只不过把它们转字节数组的编码方式不同.字符串类型的最大存储空间不超过512m
key | value | 描述 |
---|---|---|
name | 张三 | 字符串,会把字符串的字符转成对应的字节码然后转成字节数组存储 |
age | 18 | 整数,转成二进制作为字节去存储,1个字节可以表示很大的数字,这样的话就更节省空间 |
money | 8998.8 | 和整数类似 |
常用命令
操作String类型的value的常见命令:
SET k1 v1
:添加或修改1个String类型的键值对,value后面可以跟很多其他参数比如nx
192.168.2.20:24003> help SET
SET key value [NX|XX] [GET] [EX seconds|PX milliseconds|EXAT unix-
time-seconds|PXAT unix-time-milliseconds|KEEPTTL]
summary: Set the string value of a key
since: 1.0.0
group: string
GET k1
: 获取key对应的String类型的vueMSET k1 v1 k2 v2 k3 v3
: 批量添加多个String类型的键值对MGET k1 k2
获取多个key对应的String类型的valueINCR i1
: 让key为i1的value的值+1,如果i1不存在,i1自增之后为1DECR i1
: 自减,同INCR
,自增自减都是一次操作1INCRBY i1 5
: 让key为i1的value值+5,如果i1不存在,i1自增之后为5,DECRBY i1 5
: 自减几步,同INCRBY
,这个5实际上是步长,就是自增或自减走了几次INCRBYFLOAT i2 0.2
:同INCR
,这里必须指定一次增长多少,这里是一次增长0.2
SETNX i1 1
: 如果i1不存在给i1赋值为1,如果i1存在,则不赋值,会返回0提示,它是个组合命令等同于SET i1 1 NX
如果i1存在返回nil
提示SETEX i1 20 100
: 不管i1是否存在都给i1设置新值为100,过期时间为20秒