华企号 后端开发 引入缓存

引入缓存

缓存是一个临时存储区域,如果请求的数据获取代价比较高或者数据的访问频率比较高,则会把响应结果存储在内存中,以便更快速地提供后续请求。

每次加载一个新的网页,都要执行一次或多次数据库调用来获取数据。反复调用数据库会大大影响应用程

在收到一个请求后,网络服务器首先检查缓存是否有可用的响应。如果有它有,它就把数据发回给客户。如果没有,它就查询数据库,将响应存储在缓存,并将其发回给客户端。这种缓存策略被称为”读过式缓存”。根据数据的类型、大小和访问模式,还有其他的缓存策略。与缓存的交互也很简单,因为大多数缓存中间件都提供了适用于普通编程语言的 API。

缓存层是一个临时数据存储层,比数据库快得多。有一个独立的缓存层的好处有如下几点

  1. 更好的系统性能,减少数据库工作负载。
  2. 缓存层也可以做独立的扩展(集群)。

使用缓存的考虑因素如下

  • 当要访问的数据经常被读取但不经常被修改时,可以考虑使用缓存,因为缓存的数据存储在易失性内存中,所以缓存服务器并不是持久保存数据的理想选择。如果缓存服务器重新启动,内存中的所有数据都会丢失。因此,重要的数据应该保存在持久性数据存储中。
  • 过期策略。为缓存设置过期策略是缓存使用的最佳实践。一旦缓存的数据过期,它就会从缓存中删除。当没有过期策略时,缓存的数据将被永久地保存在内存中。建议不要把过期日期定得太短,因为这将导致系统过于频繁地从数据库中重新加载数据;同时,建议不要使过期日期太长,因为数据会变得陈旧。
  • 缓存一致性。这就涉及到保持数据存储和缓存的数据同步。因为对数据存储和缓存的数据修改操作不在一个事务中。当跨区域扩展时,保持数据存储和缓存之间的一致性是一个挑战。

作者: 华企网通王鹏程序员

我是程序员王鹏,热爱互联网软件开发和设计,专注于大数据、数据分析、数据库、php、java、python、scala、k8s、docker等知识总结。 我的座右铭:"业精于勤荒于嬉,行成于思毁于随"
上一篇
下一篇

发表回复

联系我们

联系我们

028-84868647

在线咨询: QQ交谈

邮箱: tech@68v8.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部