Show Changes Show Changes
Edit Edit
Print Print
Recent Changes Recent Changes
Subscriptions Subscriptions
Lost and Found Lost and Found
Find References Find References
Rename Rename
Administration Page Administration Page
Search

History

9/28/2004 12:42:27 PM
List all versions List all versions

RSS feed for the FlexWiki namespace

Flex Wiki Caching
.
Summary
FlexWiki does some pretty eleborate caching to try to maintain good performance.

FlexWiki caches three major types of information:

The cool part (and the hard part!) about this is managing cache invalidation. Cache entries tend to need to invalidate when a topic gets changed.

The cached entry for a formatted topic gets invalidated when the topic changes -- or when any of the topics it depends on gets changed (e.g., via an include, when the namespace it's in has its imports changed, etc.).

The cached entry for properties get changed when the properties get changed for the topic.

The history for a topic gets invalidated when a new version of the topic is created.

One of the major challenges of implementing WikiTalk was how to maintain caching when dependencies can be introduced programatically via WikiTalk. This is handled by accumulating, as a side-effect of running the interpreter, a collection of cache invalidation rules. These rules basically say:

The cache entry for a formatted page includes all of the invalidation rules for all of the WikiTalk used by that page.

[I was pretty proud when I got that to work -- DavidOrnstein]

[Though there may still be some bugs ]

Question
Not logged in. Log in

Welcome to the home of FlexWiki, an experimental collaboration tool, based on WikiWiki.

This is FlexWiki, an open source wiki engine.

This site supports the new NoFollow anti-spam initiative.
Change Style

Recent Topics