Redis的业务场景
Redis因为在内存中运行,查询速度快,常常被用作缓存中间件使用,那么都有哪些场景可以使用呢?
string类型:存储字符串数据,一般使用JSON格式存储
- redis用于控制数据库主键id(在分库分表时),为数据库主键提供主键生成策略,保障数据库表的主键唯一性。
- 分布式session,一般以string类型来存储。
hash类型:由于hash类型具有结构性,可以通过不同的field存储不同类型信息,而通过一个key将信息组合到一起
- redis应用于抢购,限购类、限量发送优惠券、激活码等业务的数据存储设计。
list类型:由于list采取的是双向队列的模型,可以存储具有时间顺序的信息
- 按顺序显示点赞好友信息。
- 按时间顺序显示消息,最新消息展示。
- 关注顺序、粉丝列表等。
set类型:set具有集合的性质,大部分用来进行集合运算
- 通过集合交并差操作可以实现 共同关注,好友的其他关注等等。
- 应用于随机推荐类信息检索,例如热点新闻推荐等(srandmember 随机)
- 应用于同类型数据的快速去重。
zset类型:由于zset具有分数模型,可以进行分数排序操作
- 投票打榜、亲密度显示等。
- 应用于计数器组合排序功能队形的排名。
- 应用于定时任务系统执行顺序管理或任务过期管理。(以时间进行打分排序)
Bitmaps类型:基于Bitmaps类型可以对位进行操作的特点,进行位运算操作,来进行标记操作
- 统计每天某品牌受否被购买
HyperLogLog:使用基数的特性来进行使用(基数即去重后的数据),统计独立数据的数量
- 应用于独立信息统计
GEO类型:GEO类型数据一般使用于地理位置信息业务
- 应用地理位置计算