TTL для заданного члена

Возможно ли в Redis установить TTL (время жизни) не для определенного ключа, а для члена для набора?

Я использую структуру для тегов, предложенных в документации Redis - данные представляют собой простые пары ключ-значение, а теги - это наборы, содержащие ключи, соответствующие каждому тегу, например,

> SETEX id:id_1 100 'Lorem ipsum'
OK
> SADD tag:tag_1 id:id_1
(integer) 1

Ключid:id_1 истечет, как и ожидалось, но я не вижу эффективного способа удалить соответствующий элемент изtag:tag_1 установлен.

Один из подходов, который я придумала, - использовать задание cron, содержащее скрипт, который периодически удалял бы ключи с истекшим сроком из наборов - добавляя все имена тегов в другой набор, а затем перебирая все теги, затем все идентификаторы, соответствующие каждому тегу, и проверяя, соответствующий ключ существует - если нет, вызывающийSREM.

Я не думаю, что это будет эффективный способ, и я, возможно, хотел бы сохранить теги настолько чистыми, насколько это возможно, потому что размер наборов, вероятно, повлияет на производительность поиска по нескольким тегам (SINTER). Есть ли более "внутренний" способ?

Ответы на вопрос(2)

Ваш ответ на вопрос