Мы реализуем StackExchange.Redis для хранения всей информации о трех сайтах электронной коммерции (около 18 500 продуктов). Информация хранится в базе данных SQL Server, отображаются на пользовательские объекты, а затем добавляют в Azure Redis кэш с помощью этого ключа именования:Хранение пользовательских. Net объектов в кэше Azure Redis с помощью StackExchange.Redis
urn:products:{0}:{1}
(где 0 является магазин идентификатор и 1 это идентификатор продукта). Я прочитал Where are KEYS, SCAN, FLUSHDB etc? и смог получить ключи, соответствующие шаблону urn:products:{0}
. Проблема, с которой мы сталкиваемся, заключается в том, что наш проект включает в себя много GetAllProducts List <Products>
, GetAllCategories List <Categories>
, а затем используется функциями LINQ.
Исходя из этого:
- Я пытался хранить все продукты (список пользовательских объектов) в одном ключе (
urn:products:all
), но этот подход генерируется таймаут в Azure Redis Cache. Является ли этот метод предложенным? Или предпочтительнее хранить каждый продукт в отдельных ключах? - Я не думаю, что это правильно, чтобы закодировать каждый из ключей, чтобы получить каждое значение. Можно ли получить набор ключей/значений по шаблону?
- Я также читаю HASHES, однако я не думаю, что они помогают в нашем требовании.
Вы не можете @ людей в вопросах. –
Когда вы спросите, так это нормально Это звучит так, как ответы на основе мнения будут даны так непригодными для SO – ZoomVirus
Удалено @ в вопросе (не знал этого). Изменился первый вопрос, чтобы избежать ответов на основе мнения. – arielbvargas