С индексом. Несколько мап. Диск есть, но в качестве скажем так, бекапа. Индекс не на диске, данные в памяти и диске, при чтении диск не используется, только при записи и при старте.
Клиенты могут делать в неё запись. Пересчет индекса быстрый, но не мгновенный.
Вариант первый - клиент ставит мьютекс, записывает, разлочивает.
Вариант второй - клиент в channel записывает что хочет записать, отдельна горутина слушает его и перестраивает индекс.
Внимание вопрос - что быстрее?
Второй вариант и лучше и быстрее
Я бы сделал оба варианта. Второй быстрее, ведь клиенту не надо ждать записи
Обсуждают сегодня