Если вы используете Redis (расширенное хранилище значений ключей, которое поддерживает строки, списки, наборы и т. Д.), То это довольно просто. Я уже разработал C # redis клиент , который имеет встроенную поддержку для хранения моделей данных POCO. Эти те же самые POCO могут использоваться OrmLite для хранения их в РСУБД.
Кстати, Redis работает быстро, у меня есть тест , который хранит и извлекает всю базу данных Northwind (3202 записи) менее чем за 1,2 секунды (работает внутри UnitTest на 3-летнем iMac) .
Я храню сущности двумя способами
- Отдельные сущности, где я объединяю имя типа Class и Первичный ключ для создания уникального ключа, например
urn:user:1
- Затем я поддерживаю отдельный набор первичных ключей (в наборе Redis) для отслеживания всех моих сущностей, используя такой ключ, как:
ids:user
- В списке на стороне сервера Redis - который очень похож на таблицу с поддержкой подкачки страниц с использованием ключа вроде:
lists:user