Shane Caraveo wrote:
> memcached should be considered while looking at reworking the cache 
> system.

I assume you are talking about:

  http://trac.edgewall.org/wiki/TracDev/Proposals/CacheInvalidation

This is a very specific issue with in-process caches that are already
present at various locations in Trac (ticket fields, wiki page names,
InterMapTxt and CachedRepository.youngest_rev for example). This data is
read from the database and kept in memory to avoid hitting the database
if not necessary. The trouble is, when one process modifies the data in
the database, other processes don't know that their cached data is not
valid anymore.

The current solution is to force an environment reload, which is quite
inefficient. The goal of the proposal is to find a way of notifying
processes that some cache has become invalid, with a finer granularity
than "reload everything".

Memcached definitely looks interesting, but I don't think it is the
right tool to solve this particular issue. Introducing a new external
dependency for the only purpose of notifying processes that some of
their data has become invalid seems quite overkill.

-- Remy

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to