Как установить TTL для одной записи, а не для всей строки?

Есть ли способ в Cassandra установить TTL только для одной записи (одного столбца), а не для всей строки. Например, есть таблица с временными данными пользователей, и в ней есть поле OTP, срок действия которого истекает через 30 минут. Я пытаюсь понять, как установить TTL только для записи OTP, а не для всей строки пользовательского поля.

Все примеры, которые я нашел до сих пор, устанавливают TTL для всей строки, а не для какой-либо конкретной записи. Я использую Spring Data для Cassandra.


person Vijay Nandwana    schedule 30.05.2017    source источник


Ответы (1)


Вставьте поле, используя отдельный запрос с TTL

Если имя вашей таблицы users, а первичный ключ userid, вставьте поле OTP с userid, используя TTL 30 * 60 = 1800 секунд.

INSERT INTO users(userid, OTP) values(?, ?) USING TTL 1800;
person Ashraful Islam    schedule 30.05.2017