zoukankan      html  css  js  c++  java
  • Redis与数据库之间的处理

    Redis与数据库之间的处理

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

    1. 按照我们一般的使用Redis的场景是这样的:

    也就是说:我们会先去redis中判断数据是否存在,如果存在,则直接返回缓存好的数据。而如果不存在的话,就会去数据库中,读取数据,并把数据缓存到Redis中。

      适用场合:如果数据量比较大,但不是经常更新的情况(比如用户排行)

    这里我们会先去redis中判断数据是否存在,如果存在,则直接更新对应的数据(这一步会把对应更新过的key记录下来,比如也保存到redis中比如:key为:save_update_keys【用lpush列表记录】),并把更新后的数据返回给页面。而如果不存在的话,就会去先更新数据库中内容,然后把数据保存一份到Redis中。后面的工作:后台会有相关机制把Redis中的save_update_keys存储的key,分别读取出来,找到对应的数据,更新到DB中。

      优点:这个流程的主要目的是把Redis当作数据库使用,更新获取数据比DB快。非常适合大数据量的频繁变动(比如微博)。

      缺点:对Redis的依赖很大,要做好宕机时的数据保存。(不过可以使用redis的快照AOF,快速恢复的话,应该不会有多大影响,因为就算Redis不工作了,也不会影响后续数据的处理。)

      难点:在前期规划key的格式,存储类型很重要,因为这会影响能否把数据同步到DB。

    引用:https://blog.csdn.net/u010270273/article/details/53156253/

  • 相关阅读:
    [转]addEventListener() 方法,事件监听
    JavaScrpit判断横竖屏
    无法获得锁 /var/lib/dpkg/lock
    配置Meld为git的默认比较工具
    C#多线程之旅(7)——终止线程
    【SQL进阶】03.执行计划之旅1
    单问号和双问号
    聚集索引VS非聚集索引
    【T-SQL进阶】02.理解SQL查询的底层原理
    【T-SQL】系列文章全文目录(2017-06-26更新)
  • 原文地址:https://www.cnblogs.com/guanshan/p/guan2021-7-20_002.html
Copyright © 2011-2022 走看看