《PostgreSQL服务器编程》一一1.9 关于缓存

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介:

本节书摘来自华章计算机《PostgreSQL服务器编程》一书中的第1章,第1.9节,作者:(美)Hannu Krosing, Jim Mlodgenski, Kirk Roybal 著
,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.9 关于缓存

对于服务端程序设计而言,另外一个可以派上用场的地方是用来缓存数值,这些数值的计算成本较高。这里采用的基本模式是:
1)检查数值是否已经缓存。
2)如果没有数值或者数值过于陈旧,那么计算并且进行数值缓存。
3)返回缓存后的数值。
举个例子,计算一个公司的销售额便是一个非常适合缓存的项目。一家大型零售公司可能拥有100个仓库,其每天可能有百万级的个人销售交易记录。如果公司总部准备查看销售趋势,那相比于对每日百万级的交易数据进行汇总,有一种更高效的处理方法,那就是在仓库层级,将每天的销售数据进行预计算。
如果数值比较简单,比如从一个基于用户ID的单表查看一个用户的信息,你是不需要做任何事情的。当数值在PostgreSQL的内部页面缓存区进行缓存之后,所有对缓存值的查询都变得非常快速,以至于即使在一个非常高速的网络里,查询的大多数时间都花费在网络上,而不是当前的查询本身。在这种情况下,从PostgreSQL数据库获取数据的速度就跟从任何其他内存缓存(比如memcached)一样快速,而且在进行缓存管理时也没有其他的
开销。
另外一个使用缓存的例子是实现物化视图。这些视图只有在需要的时候才进行预计算,而不是每次都要从视图中进行查询。一些SQL数据库把物化视图作为一个分割开的数据库对象,但是在PostgreSQL中,你需要靠自己,使用其他数据库支持的特性将全部工序自
动化。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
10月前
|
SQL 存储 运维
MySQL基础篇——MySQL数据库客户端连接,数据模型,SQL知识
MySQL基础篇——MySQL数据库客户端连接,数据模型,SQL知识
122 0
|
SQL 数据库
如何解决Sql Server 2008数据库备份还原后出现“受限制用户”
Sql Server 2008 在备份还原后经常出现数据库“受限制用户”的问题,可以通过设置数据库属性-》选项-》状态-》限制访问,一般情况选中“Multiple”即可。
1104 0