Graphs now stored in cache

Tags: storage, caching, update

As mentioned earlier, for performance reasons Associativy loads the whole graph (persisted in the SQL DB) into memory upon the first request to access the specific graph (it's also possible to have purely in-memory graphs BTW!). Formerly this was done by storing the graph in an ISingletonDependency, meaning in an object that lived in an Orchard tenant for the whole life time of the shell. This worked, but wasn't particularly nice and absolutely not scalable.

With the new implementation, the graph is stored in the Orchard cache. With the default cache implementation this does not change much. However, if you have an implementation of ICache using a distributed cache provider (e.g. an AppFabric implementation exists) under the hood, you can put multiple nodes under you Orchard site and Associativy will still work consistently. So now you can have even bigger graphs. Yay!