Я работаю над веб-приложением в ASP.NET/C#, которое должно быть масштабируемым для обработки высокой нагрузки пользователя (вероятно, будет работать в веб-ферме). Поскольку он будет обслуживать большое количество пользователей, около 1 миллиона плюс, но количество онлайн-пользователей будет около 30K-50K. Я планирую использовать кеширование (основанный на провайдерах) и задавался вопросом:
-
Хорошо ли кэшировать ВСЕ пользователей для производительности? Я планирую кэшировать все другие общие данные, такие как настройки и т.д., Но насколько эффективно было бы кэшировать ВСЕ пользователей в памяти? Если пользователь меняет свой профиль, я перезагружаю только этого конкретного пользователя в кеш (имея коллекцию всех пользователей). Любые предложения по этому подходу?
-
Нужно ли беспокоиться о блокировке при использовании этого кеша выше пользователей? Только одно редактирование профиля было бы самим пользователем, это была бы одна атомная операция, хотя в разных потоках будет несколько считывающих устройств. Итак, если вы загружаете пользователей из кеша или обновляете пользователя-участника, я должен использовать блокировку?
Спасибо
Асиф