redis的基本数据类型为:
- string
- list
- set
- hash
- zset
string数据类型
命令:
set <key> <value> #设置键值对
setnx <key> <value> #若key不存在则正常创建;若key存在则无法创建,不会替换原键值对
setex <key> <seconds> <value> #设置键值对,并设置key的过期时间为seconds
append <key> <valueN> #将valueN追加到key的值value后面,返回值为追加后的字符串长度
#如果key不存在,就相当于set key valueN
strlen <key> #获取key的值字符串长度
getrange <key> <start> <end> #获取key的值字符串从start到end的闭区间
#若start为0,end为-1则表示获取全部字符串
setrange <key> <start> <valueN> #替换<start>位置开始的字符串,返回值为当前key值字符串长度
#例:set k1 abcdef
# setrange k1 1 xx
# get k1 =>返回值为:axxdef
getset <key> <value> #若key不存在,返回nil(空),设置值为value
#若key存在,返回原值,再设置新值为value
mset <key1> <value1> <key2> <value2>... #批量创建键值对
mget <key1> <key2>... #批量获取键的值
msetnx <key1> <value1> <key2> <value2>... #批量创建键值对,若keyn存在,则全部创建失败(原子性)
set <key>:<n>:<chrKey> <value> #设置对象 对象名:id:属性 值
set <key>:<n> {<chrKey1>:<value1>,<chrKey1>:<value1>,...} #设置对象的多个属性
mset <key>:<n>:<chrKey1> <value1> <key>:<n>:<chrKey2> <value2>... #设置对象的多个属性
mget <key>:<n>:<chrKey1> <key>:<n>:<chrKey2>... #获取对象的多个属性
incr <key> #自增1
decr <key> #自减1
incrby <key> <n> #自增n
decrby <key> <n> #自减n
#返回值为当前key 的值
string数据类型的应用场景:
- 计数器
- 统计多单位的数量 例如:博主的粉丝数 incr/decr
- 对象缓存存储 例如:用户登录信息过期