redis之数据类型之String(十三)
String(字符串)
作用范围:1 计数器
2 统计多单位的数量
3粉丝数
4对象缓存存储
set name liming
get name
exists name
type name
append name "jimao" //对name拼接字符串jimao, 如果当前name不存在,就相当于set name
get name //返回name的值 ,值是“limingjimao”
strleng name //查看name的长度
加减法
set age 0
incr age //年龄加1
decr age //年龄减1
incrby age 10 //年龄加10
decrby age 10 //年龄减10
范围取值
set name "liming,go to school"
getrange name 0 3 查询第0到第3个字符之间的值
getrange name 0 -1 查询所有的值
替换
set name liminghehe
get name
setrange name 1 pppp 对name中的第一个字符开始的字符串进行替换
get name lppppinghehe
setex(set with expire) 设置过期时间,如果存在就....
setex name 30 "liming" //设置name为liming,30秒后过期
setnx(set with expire) 设置过期时间,如果不存在就....
setnx在分布式锁中会经常使用,
setnx name "jimao" //如果不存在name,设置值jimao,如果存在就会创建失败
批量获取值,mset是一个原子性的操作,要么一起成功,要么一起失败
mset name liming name1 jimao name liuxingchen //同时设置name、name1、name2的值
keys *
mget name name1 name2 //同时获取name、name1、name2的值
设置对象
set user:1 {name:liming age:3} // 设置一个1号用户的对象,值是json,
mset user:1:name liming user:1:age 20 //设置一个1号用户,名字是liming,年龄是20
mget user:1:name user:1:age // 批量获取user的属性
组合命令
getset name liming 先get再set,如果不存在值返回null,如果存在值,则获取原来的值并且设置新的值
get name