Redis Streams - удалить / истечь события в зависимости от времени - PullRequest
0 голосов
/ 01 апреля 2020

Я играю с Redis Stream, и это пока хорошо. Я пытаюсь понять, есть ли у меня возможность истечь старые события, основанные на времени или как-то иначе. Я знаю, что мы можем удалить по идентификатору события. Но я не хочу запоминать / хранить идентификатор события, что сложно. Вместо этого я ищу способ удалить последние 10К событий или что-то в этом роде.

1 Ответ

1 голос
/ 02 апреля 2020

Пока что нет возможности истечь события по времени. Вместо этого единственной стратегией истечения срока действия является истечение срока действия событий, сохраняя последние N событий. Вы можете использовать команду XTRIM для удаления старых событий.

Должен ли я сделать это в этот раз? Можно ли настроить поток на сохранение последних N событий?

Если вы хотите всегда сохранять последние N событий, вы можете вызвать команду XADD с опцией MAXLEN, чтобы получить ограниченный поток Также с опцией ~ вы можете иметь лучшую производительность, но неточные события с истекшим сроком действия. Проверьте do c для деталей.

...