Как хранить определенные пользователем объекты с помощью 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/