In my recent post on pgmemcache, there were couple of questions asked
which were really interesting and made me to work on it. I should thank
for it :)
1. Is pgmemcache application transparent ?
2. Is there any synchronization between memcached and PostgreSQL Shared
pgmemcache(memcached) is not application transparent, you need to do
changes in the application for pushing or retreiving the data from the
EnterpriseDB, product PostgresPlus Advance Server includes a feature
called Infinite Cache, which is based on production proven technology
memcached the open source distributed object cache.
the Enterprise PostgreSQL Company, provides enterprise-class PostgreSQL
products of the world’s most advanced open source database. The
company’s Postgres Plus products are ideally suited for
transaction-intensive applications requiring superior performance,
massive scalability and compatibility with proprietary database
Above diagram helps to understand the architecture of pgmemcache vs
infinite cache. In infinite cache, all the pages are first searched in
shared_buffers and then in Infinite Cache. Synchronization between
shared buffer cache and infinite cache makes application transparency,
which is not the case with pgmemcache.
Infinite Cache, is faster and completely application transparent. No
special code is needed from developers. Warms up your cache with
multiple parallel processes and pre-loads cache at startup reducing
To avail infinite cache you have to download the PostgresPlus Advance
Server which is Oracle Compatible product bundled with Infinite Cache.
Implementation of Infinite cache is as simple as memcached, below link
will help in setting up the infinite cache.
Very informative discussion on PostgreSQL Community Forum:-