Это не полный ответ, а возможная оптимизация.Он будет работать в дополнение к любым другим ответам здесь.
Вместо сохранения самой последней отметки времени обновляйте отметку времени, только если она изменилась, например, на 5 или 60 секунд. Предположим, что пользователь обновляется каждую секунду в течение дня.Это 86 400 обновлений.Но если вы обновляете временную метку только с 5-секундными интервалами, то это 17 280;в течение 60 секунд это 1440.
Вы можете сделать это на стороне клиента.Если вы хотите обновить отметку времени, извлеките текущий документ и проверьте старую отметку времени.Если возраст меньше 5 секунд, ничего не делайте.В противном случае обновите его как обычно.
Вы также можете сделать это на стороне сервера.Напишите функцию _update
в CouchDB, которую вы можете запросить, например, POST /db/_design/my_app/_update/last-access/the_doc_id?time=2011-01-31T05:05:31.872Z
.Функция обновления будет делать то же самое: проверять старую временную метку и либо ничего не делать, либо обновлять ее в зависимости от истекшего времени.