在注册过程中,我的应用程序通过电子邮件发送令牌以确认用户的电子邮件ID。我想将令牌存储在数据库中,以后再检索。我能够做到这一点:
cqlsh:> CREATE TABLE user_authentication_token (
id uuid,
user_id uuid,
email text,
expiration_time timestamp,
is_sign_up boolean
PRIMARY KEY((id,user_id,email,expiration_time))) WITH COMMENT = 'table is used to store the tokens generated by the application to confirm email ids or to reset passwords.'.
我希望创建一个清理实用程序,以便能够出于数据库优化的目的定期删除所有过期的令牌。我想查询所有过期令牌的查询可能在where partition key is less than now()
行中。
有没有一种方法可以创建一个单一模式,该模式可以让我使用id,user_id,email,expiration_time
查询表来查找单个令牌,或者仅使用expiration_time
查找表中少expiration_time
的所有令牌比now()
多?
理想情况下,我希望不要创建单独的表。