Как хранить определенные пользователем объекты с помощью StackExchange.Redis?

Я смог сделать это в ServiceStack.redis, используя

IRedisTypedClient<ObjectName> myObj = redisClient.As<ObjectName>();

Но я не мог найти примеров для этого в StackExchange.Redis.

Нужно ли мне сериализовать JSON, а затем сохранить их?

Thanx заранее.

Ответы

Ответ 1

В настоящее время SE.Redis не пытается предлагать сериализацию - просто слишком много разных способов сделать это. Я скорее придерживаюсь мнения, что библиотека должна делать одно, а не 7. Должна быть возможность добавить любую гибридную сериализацию и т.д., Просто используя методы расширения или другой код сантехники/упаковки, выбрав любую стратегию сериализации, которую вы выберете, и любую библиотеку вы выбираете.

Ответ 2

Простейшим решением будет использование json/binary/other serialization. Более сложный, но более родной - использование redis "хэш" тип данных.

В первом случае я предпочитаю библиотеку protobuf (она по умолчанию включала StackExchange.Redis.Extensions.Protobuf пакет nuget). Но если вам нужно, вы можете использовать сериализацию json/binary/xml.

Существует хороший отчет об эффективности для всех: http://www.maxondev.com/serialization-performance-comparison-c-net-formats-frameworks-xmldatacontractserializer-xmlserializer-binaryformatter-json-newtonsoft-servicestack-text/