PostgreSQL缓存原理
文章平均质量分 85
解析PostgreSQL缓存原理,内存共享机制、锁机制
南風_入弦
这个作者很懒,什么都没留下…
展开
-
02PG缓存-缓存锁
PostgreSQL中shared_buffers定义数据缓冲区的大小,会在操作系统内存开辟一块共享的区域,既然是共享的,所有的后台进程都可以访问,必然会导致争用,那么哪些进程可以访问并修改,哪些进程不可以,又怎样保证数据的一致性,这就需要锁来实现。需要注意的是,这里的锁是内存锁,和表或索引的行锁、表锁是没有任何关系的。原创 2024-08-04 08:20:41 · 260 阅读 · 0 评论 -
03PG缓存-写入写出
当后端进程想要访问一个页面时,会调用ReadBufferExtended,一般后端进程访问页面有三种情况。原创 2024-08-04 08:21:17 · 963 阅读 · 0 评论 -
01PG缓存-缓存结构
缓存池规则的排列一个一个的数据页缓存——buffer(在Oracle中数据页在磁盘上称为block,在内存中称为buffer,这里也将缓存在内存中的固定大小的数据称为buffer),查看缓存池中buffer的数量可以通过 pg_buffercache扩展模块查看。不同的数据库、不同的模块使用的HASH算法不同,但是原理大体一致,最简单的HASH算法是求余,输入一个值:50,以“除以33取余”,得到17。要注意的是,缓存描述符组成的链表,称为freelist,但是和Oracle中的freelist不一样的。原创 2024-08-04 08:20:11 · 954 阅读 · 2 评论