On Thu, May 27, 2010 at 5:59 PM, (David) Ming Xia <[email protected]> wrote: > The current caching system does not fit the task I described. Current > Roller caches are just local hash maps or hash tables, they are not > distributed; It has no synchronization of weblog content, especially the > value ‘Last-Modified’ for multiple server threads. While nowadays most > production environments are clustering environment, composed of multiple JVMs > and application server runtimes.
That's not completely true. Roller has a pluggable page caching and you can plugin memcached if you want a distributed cache. Code is available on roller.dev.java.net for the Roller Memcache plugin -- it's not part of Roller because, I think, there is some LGPL dependency. For caching of database results, in the past we have used Hibernate's L2 cache feature, which can also be backed by memcached for distributed cache. Roller has since switched to OpenJPA, but OpenJPA also has a pluggable cache. I would recommend pursuing OpenJPA L2 cache. It would be better if Roller does not have to implement object caching but can instead rely on the persistence engine to do that. - Dave
