首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏光城(guangcity)

    Greenplum SysCache and RelCache

    In order to improve retrieval efficiency, PostgreSQL provides caches, including SysCache and RelCache SysCache Recently used system table tuple RelCache Schema information for recently accessed tables 2. SysCache 2.1 Some important data structures struct cachedesc information defining a single syscache SysCache is a CatCache array. static CatCache *SysCache[SysCacheSize]; The SysCache structure formed important operation functions Init operation InitCatalogCache Use the cacheinfo array to initialize the SysCache

    72920编辑于 2022-12-02
  • 来自专栏Postgresql源码分析

    Postgresql源码(45)SysCache内存结构与搜索流程分析

    ilist.h https://github.com/postgres/postgres/blob/master/src/include/lib/ilist.h

    59620编辑于 2022-07-14
  • 来自专栏Postgresql源码分析

    Postgresql源码(41)SysCache内存结构与搜索流程分析

    ilist.h https://github.com/postgres/postgres/blob/master/src/include/lib/ilist.h

    70830编辑于 2022-05-12
  • 来自专栏腾讯云数据库(TencentDB)

    云数据库 PostgreSQL 自动缓存淘汰机制

    为应对复杂多变的业务场景和海量数据挑战,腾讯云数据库 PostgreSQL 团队凭借强大的内核自研能力,推出基于 LRU 算法( Least Recently Used )的 syscache/relcache 自动缓存淘汰机制,针对 syscache 和 relcache 缓存进行动态管理,助力业务实现缓存资源的智能管理与高效利用。 应用场景 在大规模复杂业务场景,特别是高并发、多对象、长连接的场景下,云数据库Postgresql的syscache/recache 缓存自动淘汰功能可以显著降低内存占用、提升缓存效率、增强系统稳定性。 功能亮点 基于 LRU 的 syscache/recache 缓存自动淘汰机制能够实时监控缓存访问频率,自动识别低频访问缓存项并进行淘汰,释放内存资源,避免缓存膨胀带来的性能瓶颈和系统风险。 腾讯云数据库 PostgreSQL 内核自研的基于 LRU 的 syscache/relcache 自动缓存淘汰机制,解决了社区版 PostgreSQL 缺乏智能淘汰策略的限制,实现了对 syscache

    17310编辑于 2025-07-26
  • 来自专栏Postgresql源码分析

    Postgresql源码(136)syscache/relcache 缓存及失效机制

    相关 《Postgresql源码(45)SysCache内存结构与搜索流程分析》 0 总结速查 syscache:缓存系统表的行。通用数据结构,可以缓存一切数据(hash + dlist)。 syscache使用CatCache数组,定义了一些常用查询的结果集缓存,数据放到CatCache里面的dlist中存放。 syscache查询接口 SearchSysCache系列接口时,key须按照cacheinfo的定义来查询 pg_class支持where relname = ? 2 系统表缓存 系统表是需要被高频访问的,所以PG为系统表设计了两种进程级缓存: syscache:缓存系统表tuple → 缓存行数据。 3 syscache(catalog cache) syscache 以一个数组的形式存放在内存中,每一个数组位置存放一个CatCache,每一个CatCache直观上可以看做一个固定SQL的结果集,具体的数据结构参考这里

    92420编辑于 2024-10-10
  • 来自专栏PostgreSQL研究与原理解析

    PostgreSQL可拔插存储引擎表定义机制

    2、如果创建表时没有指定使用表访问方法,那么会使用默认的表访问方法,即heap 3、调用get_table_am_oid根据表访问方法名获取对应的oid,即pg_am的oid字段: 1)先从SysCache pg_am表 4、调用函数heap_create_with_catalog进行初始化表访问方法、创建磁盘物理文件、向pg_class系统表插入一条元数据tuple: 5、需要先判断创建的表是否已存在:从SysCache 初始化表访问方法 2、RELKIND_SEQUENCE、系统表的函数handler ID为heap的:relation->rd_amhandler = HEAP_TABLE_AM_HANDLER_OID 3、从SysCache 或者pg_am顺序扫描,得到表访问方法的handlerID 4、fmgr_builtins[]数组为内置函数元数据,若是内置则&fmgr_builtins[amhandler]得到finfo信息 5、SysCache

    1.5K10发布于 2020-10-28
  • 来自专栏Postgresql源码分析

    Postgresql在哪里使用列统计信息?

    对pg_statistic表的查询都是走syscache的,要找到所有使用列统计信息地方,遍历系统表索引即可 enum SysCacheIdentifier { ...

    43320编辑于 2023-10-13
  • 来自专栏magicodes

    Magicodes.WeiChat——缓存管理

    defaultCache" updateMode="Up" enableStatistics="true" enablePerformanceCounters="true"> <handle ref="<em>sysCache</em> expirationMode="Absolute" timeout="3600s"/> </cache> </managers> <cacheHandles> <handleDef id="<em>sysCache</em>

    45730发布于 2018-12-27
  • 来自专栏开发运维工程师

    部署实践|CentOS安装openGauss 6.0.0 (LTS)单节点数据库实践

    =on"-c"enable_thread_pool=on"-c"global_syscache_threshold=64MB"-c"local_syscache_threshold=16MB"-c"wal_flush_timeout off-cuse_workload_manager=off-cenable_instr_rt_percentile=off-cenable_wdr_snapshot=off-cenable_global_syscache =on-cenable_thread_pool=on-cglobal_syscache_threshold=64MB-clocal_syscache_threshold=16MB-cwal_flush_timeout gs_gucset:enable_wdr_snapshot=off:[/home/test/openGauss/data/postgresql.conf]gs_gucset:enable_global_syscache =64MB:[/home/test/openGauss/data/postgresql.conf]gs_gucset:local_syscache_threshold=16MB:[/home/test/

    64410编辑于 2025-09-30
  • 来自专栏Yangsh888的专栏

    记录:Discuz!插件语言包丢失,多个插件乱码的解决方法

    类似如下截图: 如果你找DZ官方有偿服务解决这个问题要花500元(不要问怎么知道的,我问的) 解决方法如下: 原因是因为系统缓存表损坏,只需要将之前论坛数据库中的表 pre_common_syscache

    1.7K30编辑于 2022-03-07
  • 来自专栏开发运维工程师

    学习实践|CentOS安装openGauss 6.0.0 (LTS)数据库实践

    =on" -c "enable_thread_pool=on" -c "global_syscache_threshold=64MB" -c "local_syscache_threshold=16MB use_workload_manager=off -c enable_instr_rt_percentile=off -c enable_wdr_snapshot=off -c enable_global_syscache =on -c enable_thread_pool=on -c global_syscache_threshold=64MB -c local_syscache_threshold=16MB -c wal_flush_timeout set: enable_wdr_snapshot=off: [/home/test/openGauss/data/postgresql.conf]gs_guc set: enable_global_syscache =64MB: [/home/test/openGauss/data/postgresql.conf]gs_guc set: local_syscache_threshold=16MB: [/home/test

    1K21编辑于 2024-11-19
  • 来自专栏IT笔记

    Ehcache优缺点以及分布式详解

    -- 系统缓存 --> <cache name="<em>sysCache</em>" maxElementsInMemory="1000" eternal="true" overflowToDisk="true -- 系统缓存 --> <cache name="sysCache" maxEntriesLocalHeap="100" eternal="true" overflowToDisk="true"

    4.2K61发布于 2018-04-13
  • 来自专栏IT笔记

    ehcache.xml参数配置说明

    -- 系统缓存 --> <cache name="<em>sysCache</em>" maxElementsInMemory="1000" eternal="true" overflowToDisk="true

    93250发布于 2018-04-13
  • 来自专栏IT笔记

    Ehcache中timeToLiveSeconds和timeToIdleSeconds的区别

    -- 系统缓存 缓存名称||系统缓存最大个数||永不失效||当内存中对象数量达到maxElementsInMemory时,Ehcache将会对象写到磁盘中--> <cache name="<em>sysCache</em>

    1.1K40发布于 2018-04-13
  • 来自专栏IT笔记

    Ehcache配置详解及CacheManager使用

    static URL url; private static CacheManager manager; private static final String SYS_CACHE = "sysCache

    2K50发布于 2018-04-13
  • 来自专栏存储内核技术交流

    PostgreSQL创建表分析

    CHKATYPE_ANYARRAY : 0); // 在static CatCache *SysCache中查找是否当前新增的表的名称是否存在于当前SysCache中,如果不存在则返回无效的

    2.4K30编辑于 2022-08-17
  • 来自专栏Postgresql源码分析

    Postgresql实验系列(3)最简脏读插件

    datum.h" #include "utils/lsyscache.h" #include "utils/rel.h" #include "utils/snapmgr.h" #include "utils/syscache.h

    64520编辑于 2022-11-06
  • 来自专栏全栈程序员必看

    NHibernate 缓存

    NHibernate.Caches.MemCache NHibernate.Caches.Prevalence NHibernate.Caches.SharedCache NHibernate.Caches.SysCache NHibernate.Caches.SysCache2 NHibernate.Caches.Velocity 这些实现都是 2、 配置指定的实体类、集合启用二级缓存缓存 在 hibernate.cfg.xml

    80010编辑于 2022-09-19
  • 来自专栏张志敏的技术专栏

    NHibernate 缓存

    NHibernate.Caches.MemCache NHibernate.Caches.Prevalence NHibernate.Caches.SharedCache NHibernate.Caches.SysCache NHibernate.Caches.SysCache2 NHibernate.Caches.Velocity 这些实现都是 2、 配置指定的实体类、集合启用二级缓存缓存 在 hibernate.cfg.xml

    1.1K11发布于 2020-08-06
  • 来自专栏IT笔记

    Nginx + Shiro + Ehcache 实现负载均衡集群(成绩报告查询系统)

    -- 系统缓存 --> <cache name="<em>sysCache</em>" maxEntriesLocalHeap="100" eternal="true" overflowToDisk="true"

    1.9K50发布于 2018-04-16
领券