NOSQL数据结构存储系统,有文档型、键值型、列型存储、图形数据库等,其中,键值型Redis在简单的读写性能方面是最快的。
支持“INCRANDGET”原子操作Redis现在是各个系统几乎都在使用的一种分布式,高可用,由key-value存储的,缓存内存中的,NOSQL数据结构存储系统。redis中有string、sets、sortedsets、hash、list类型,但是string的结构,以上数据结构的基础。
01Redis的String介绍
Redis的string是以一种纯字符串,作为value的形式存在的,也是String,Hash,List,SetZset几种之中使用最多的数据结构,value可以存储简单的字符串、json、xml、二进制,但是其值的最大长度为MB。
string的结构,以上数据结构的基础。02Redis的String结构常用操作:
1.基本操作
set:
setkeyvalue[ex][px][nx
xx]
ex:秒级过期时间。
px:毫秒级过期时间。
nx:键必须不存在,才可以set成功(添加)。
xx:键必须存在,才可以set成功(更新)。
ps:setnx在多个客户端执行时,也只有一个能成功,所以可以作为分布式锁的一种解决方案。
mset:
msetkey1value1key2value2……(批量设置)
get、mget与del:
getkey
mgetkey1key2……
delkey
String结构常用操作2.其他操作
计数:
incrkey自增(key对应的值必须要为整数,否则报错。如果键不存在,则自动创建该键,值从0开始自增,返回1。)。
decrkey自减(同incr原则)。
incrbykeyincrement指定步长自增。
decrbykeydecrement指定步长自减。
incrbyfloatkeyincrement指定浮点数步长自增。
追加值:
appendkeyvalue(向字符串尾部追加值)。
字符串长度:
strlenkey(单位:字节。一个中文字占3个字节,一个ascii字符占1个字节。)
设置并返回原值:
getsetkeyvalue
设置制定位置的字符:
setrangekeyoffsetvalue
获取部分字符串:
getrangekeystartend
03Redis的String应用场景:
单值缓存:
商品库存,key=商品id,value=库存数量。
对象缓存:
1)set存储用户信息,key=user:idvalue=json格式数据。
2)mset批量存储用户信息,适用于数据不断变化的应用场景。
如用户