Redis常用场景处理流程

前言

  • Redis是一个高性能的key-value数据库
  • Redis的出现,很大程度补偿了Memcached这类key-value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。
  • 它提供了Python、Ruby、Erlang、Php客户端,使用很方便

常用场景

  • 场景一(数据量比较大,但不是经常更新的场景:比如用户排行)
    Redis常用场景处理流程
    前台用户对数据进行查询,后台会先去Redis中判断数据是否存在,如果存在,则直接返回缓存中的数据。而如果不存在的话,就会去DB中,读取数据,并把数据缓存到Redis中。

  • 场景二(大数据的频繁更新:比如微博的互动)
    Redis常用场景处理流程
    前台用户对数据进行更新,后台会先去Redis中判断数据是否存在,如果存在,则会直接更新Redis中对应的数据,同时记录每次操作的key信息,并把更新后的数据直接反馈给前台(PS:后台存在定时任务去执行队列中存在的更新操作)。如果不存在的话,则会先更新DB中的数据,更新完成后将数据保存在Redis中,同时将更新完成的数据反馈给前台。
    优点:Redis是内存级操作,执行效率比DB快很多
    缺点:对Redis的依赖很大,要做好宕机时的数据保存,不过可以使用Redis的快照AOF,快速恢复的话,应该不会有多大影响,因为就算Redis不工作了,也不会影响后续数据的处理。
    难点:前期规划key的格式,存储类型很重要,因为这会影响能否把数据同步到DB

文章参考转载:seapeak007:redis与DB数据同步问题

相关文章:

  • 2021-10-03
  • 2022-12-23
  • 2022-12-23
  • 2021-08-18
  • 2022-12-23
  • 2021-10-26
  • 2022-12-23
  • 2021-06-01
猜你喜欢
  • 2022-12-23
  • 2021-07-13
  • 2021-10-26
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案