redis自身是一个Map,其中所有的数据都是采用key:value的形式存储的
数据类型指的是存储的数据的类型,也就是value的类型,key则永远是字符串
1.string
2.hash
3.list
4.set
5.sorted_set
存储的数据未单个数据,最简单的数据存储类型,也是最常用的数据存储类型
一个存储空间只保存一个数据
通常只是字符串,如果以数字形式展示,可以作为数字使用
取值范围同java中的long.Max_value的长度- 9223372036854775807 到 9223372036854775807
set key value
添加成功返回ok
get key
获取成功则有值,获取失败则为(nil)
del key
删除成功则返回1删除失败则返回0
mset key1 value1 key2 value2...
mget key1 key2..
获取多个数据,不存在则为(nil)
strlen key
append key value
大型企业应用中存在分表的操作,那么多张表的主键必须保证唯一性,oracle中存在sequence,Mysql不存在类似的,则可以利用redis来做
incr key --> +1
invrby key increment --> +指定整数
incrbyfloat key increment -->+指定小数
备注:如上图结果incr 如果key不存在则直接创建1,当为负数的时候则做减法
invrby 不能用小数 但是也可以用负数
incrbyfloat可以用整数也可以用小数,也可以用负数,但是返回的类型为字符串
decr key --> -1
decrby key increment -->-指定整数
各种海选、各种投票场景,通过微信投票,限制每几个小事只能投1票;电商热门推荐,商品不能一直处于热门期,等让人们商品有声明周期,到时间自动取消热门
setex key seconds value -->固定秒后失效
psetex key milliseconds value -->固定毫秒后失效
备注:redis控制数据的生命周期,通过数据是否失效控制业务行为,适用于所有具有时效性限定控制的操作
如微博中显示粉丝数量和微博数量
可以设置用户的主键和属性值作为key,后台设定定时刷新策略
如 b_user