Dec 31, 2014 02:11 PM|Sameer Shah|LINK
Since you will need to search data, even in-memory non indexed data will degrade you application's performance.
You can use a caching solution with database, that will allow you to index data and later search based on indexed attributes. In-memory indexes and data will give you fast searching and retrieval.
NCache(http://www.alachisoft.com/ncache/) is one of the possible solutions. NCache allows you to define indexes on class attributes and search indexes using SQL like
query language (OQL-Object Query Language). It also allows to search in-memory data based on multiple indexed attributes to filter out required results. You can use write-behind caching and database dependencies to keep you cache sync with the database.