• 技术文章 >数据库 >MySQL

    mysql缓存发生的层次及实现

    小妮浅浅小妮浅浅2021-06-02 16:05:59原创231

    1、发生的层次

    MySQL内部:在系统调优参数介绍了相关设置

    数据访问层:比如 MyBatis 针对 SQL 语句做缓存,而 Hibernate 可以精确到单个记录,这里缓存的对象主要是持久化对象 PersistenceObject

    应用服务层:这里可以通过编程手段对缓存做到更精准的控制和更多的实现策略,这里缓存的对象是数据传输对象 DataTransferObject(DTO)

    Web 层:针对 web 页面做缓存

    浏览器客户端:用户端的缓存

    2、实现

    直写式:在数据写入数据库后,同时更新缓存,维持数据库与缓存的一致性。这也是当前大多数应用缓存框架如 Spring Cache 的工作方式。这种实现非常简单,同步好,但效率一般。

    回写式:当有数据要写入数据库时,只会更新缓存,然后异步批量的将缓存数据同步到数据库上。这种实现比较复杂,需要较多的应用逻辑,同时可能会产生数据库与缓存的不同步,但效率非常高。

    以上就是mysql缓存发生的层次及实现,希望对大家有所帮助。更多mysql学习指路:MySQL

    专题推荐:mysql缓存
    上一篇:mysql主从复制的类型 下一篇:mysql表分区的优缺点

    相关文章推荐

    • mysql覆盖索引高性能的探究• mysql行锁的优缺点• mysql独占写锁是什么• mysql备份恢复策略是什么• mysql有哪些备份数据库的方式• MySQL中的逻辑备份是什么• mysql物理备份如何理解• mysql表导出的两种方法• 如何在mysql表中进行导入• mysql Binlog日志是什么• mysql Binlog日志如何启用• Binlog日志在mysql中的格式• mysql Binlog事件的结构
    品易云

    全部评论我要评论

  • 取消发布评论发送
  • 

    Python学习网