Please submit your work by creating a JIRA Issue (here:
http://jira.nhforge.org) and attach a SVN patch with your changes. We would
like to see some (unit-)tests as well, unless you think that existing tests
offer good enough coverage.

Regards
Julian

On Fri, Dec 3, 2010 at 1:31 PM, Aaron Boxer <[email protected]> wrote:

> Hello All,
>
> I've just finished a massive refactoring of the NH cache classes. The
> biggest change is the introduction of a
> copy-on-write cache concurrency strategy, where each session, after
> locking an entity, performs a copy on write into
> a local per session cache, and copies the write back into the main
> cache after an entity has been unlocked
> (assuming that the main cache item for this key is puttable).
>
> This provides true repeatable read and read committed isolation for
> different sessions, and allows one session to access a cache key
> after another session locks it, as opposed to forcing the first
> session to hit the database. (Note: the copy
> on write cache only works for versioned entites).
>
> The strategy uses a reader/writer lock for synchronizing access to the
> cache (ReaderWriterLockSlim), so performance should be
> good. (I've also converted the ReadWriteCache strategy to use a
> reader/writer lock)
>
> I've updated my Redis-based cache provider to support the new copy on
> write cache strategy, and because of how
> Redis is designed, it is possible to remove all locks. So compared to
> other distributed caches, performance should
> be excellent.
>
> What is the best way of submitting these changes for review?
>
> Thanks,
> Jorge
>

Reply via email to