Add InMemoryCache using LRU to replace out of range/least used cache it...

...ems

SMWSql3SmwIds handles cache limits and generates id's while using
Random Replacement as a method (which is less approriate) to
discard cache items.