Redis下一小节:1-14 Redis三种启动方式介绍
Redis典型应用场景
Redis典型应用场景
(1)缓存系统
【1】表示客户端发请求到App Server(Apache or Nginx代理服务器)
【2】表示App Server请求Redis缓存数据库,如果Redis缓存数据库有值,则直接执行步骤【3.1】返回,否则执行【3.2】请求Storage(Mysql、Oracle、DB2等数据库)
【3.1】表示Redis有数据返回给Apache or Nginx代理服务器)
【3.2】表示Redis请求Storage(Mysql、Oracle、DB2等数据库)
【4】表示Storage(Mysql、Oracle、DB2等数据库)返回数据给Redis,然后Redis重新存一份数据
【5】表示Storage(Mysql、Oracle、DB2等数据库)直接返回Apache or Nginx代理服务器)
(2)计数器
因为Redis是单线程的,所以Redis使用INCR计数命令是原子操作,不会出现并发问题,可以防止刷单。
(3)消息队列系统
目前市面上比较成熟的MQ系统:ActiveMQ、Kafka、RabbitMQ、RocketMQ
因为Redis消息队列功能比较简单,所以一般简单消息队列使用场景可以使用Redis,但是如果场景复杂,建议还是使用市面上成熟的MQ系统。
(4)排行榜
Redis提供了Sorted Set数据结构可以很好的实现排行榜功能
(5)社交网络
Redis与社交网络是天然吻合的,像很多社交媒体的功能都可以使用Redis来实现,例如:粉丝数、关注数、共同关注、时间轴列表
Redis Set数据结构可以实现这些功能。
Redis Set数据结构,取两个集合的交集就可以实现“共同关注功能”
Redis Sorted Set数据结构,可以实现时间轴列表功能,Sorted中score可以以时间作为排序条件,例如:奖池奖品按时间分布。
(6)实时系统
Redis使用Bitmap位图来实现布隆过滤功能,例如:垃圾邮件过滤实时处理。