Cod Rob, здесь вообще никакого Concurrency нет.
Во-первых, внутри метода достаточно использовать List
Во-вторых, для ReadEmails и других полей объекта используй обычные List, а когда захочешь их обновлять/читать - просто используй на них lock
Nik Faraday, тогда можно попробовать так:
1. Таблица одна - [page_id, date, visits_count] - id страницы, дата (только дата без времени) посещения, кол-во посещений
2. На каждый заход на страницы вызывается UPDATE SET visits_count += 1 WHERE date = today() AND page_id = id
3. Для годовых/месячных/дневных делаешь материализованное представление
P.S. - т.к. годовые/месячные/дневные больше не обновляются, то можно создать для них отдельную таблицу и хранить уже подсчитанные значения там. Обновлять скриптом по окончании периода.
Иван Мельников, инструментов куча, а контекст задачи неясен. все хотят низкую задержку, мало потреблять ресурсов, масштабироваться бесконечно и т.д.
задачу поконкретнее надо описать
Во-первых, внутри метода достаточно использовать List
Во-вторых, для ReadEmails и других полей объекта используй обычные List, а когда захочешь их обновлять/читать - просто используй на них
lock
Проблемы из пустого места
P.S. почитай что такое
using