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

本文涉及的产品
PolarDB Agent Express,2核4GB
云数据库 PolarDB MySQL 版,列存表分析加速 4核8GB
简介:

本节书摘来自华章计算机《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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
缓存 NoSQL 关系型数据库
PostgreSQL 与基友们的故事之 - Redis (无限缓存,实时标签...)
在PostgreSQL中直接读写REDIS。好处多多,可以降低应用层设计的复杂度,减少交互次数,降低RT。同时还能使用redis作为PostgreSQL的二级缓存, 提升数据库的性能。PostgreSQL的好基友还真多,redis也是其中一个。 下面简单的介绍一下redis_fdw插件的安装和
26321 147
|
缓存 安全 关系型数据库
6 PostgreSQL 连接池,本地高速缓存,异地高速缓存|学习笔记
快速学习6 PostgreSQL 连接池,本地高速缓存,异地高速缓存
6 PostgreSQL 连接池,本地高速缓存,异地高速缓存|学习笔记
|
缓存 关系型数据库 Go
使用PostgreSQL_Notify实现多实例缓存同步
Parallel与Hierarchy是架构设计的两大法宝,**缓存**是Hierarchy在IO领域的体现。单线程场景下缓存机制的实现可以简单到不可思议,但很难想象成熟的应用会只有一个实例。在使用缓存的同时引入并发,就不得不考虑一个问题:如何保证每个实例的缓存与底层数据副本的数据一致性。 分布式系统受到CAP定理的约束,分区一致性P是一般来说是不允许牺牲的,不可能让两个实例对同样的请求却给出
3499 0
|
缓存 关系型数据库 数据库
|
缓存 关系型数据库 数据库
PostgreSQL 10.0 preview 功能增强 - 缓存自动预热, 直达性能巅峰
标签 PostgreSQL , 10.0 , 自动预热缓存 背景 数据库的shared buffer可以用来存储经常使用的数据块,以提升效率。通过LRU算法老化不常用的数据块。 因此在生成数据库中,SHARED BUFFER中通常是热数据。
2534 0
|
SQL 关系型数据库 PostgreSQL
|
12月前
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
|
7月前
|
缓存 负载均衡 监控
135_负载均衡:Redis缓存 - 提高缓存命中率的配置与最佳实践
在现代大型语言模型(LLM)部署架构中,缓存系统扮演着至关重要的角色。随着LLM应用规模的不断扩大和用户需求的持续增长,如何构建高效、可靠的缓存架构成为系统性能优化的核心挑战。Redis作为业界领先的内存数据库,因其高性能、丰富的数据结构和灵活的配置选项,已成为LLM部署中首选的缓存解决方案。
792 25