Like we discussed in the mumble, setting the total memory size and freeing a database's cache resources seem like separate things, even though they both cause the reclamation of cache space and recomputation of how much each DB is given. Also, `0` as a magic value there seems like it's getting around designing an API that is more transparent. What if instead it looked like this:

```cpp
gFlexCache.DBOpened();
gFlexCache.DBClosed();
// internally, these both could call
gFlexCache.recomputeAllocations();
```

Again, those are just suggestions.