我想使用redis进行文章(后期)读取处理。 我想在Redis中存储每个用户阅读的每篇文章的idex。
因此键是userId,值(可能是列表)是商品索引列表。 我想为每个索引值设置过期时间。
有可能吗?而且我想知道redis命令。
-其他信息
我想键入-value(list),并终止list中的每个值。 如果密钥过期,我不希望所有值丢失。我想删除特定的一键。
数据显示在下面, songkeyy-[1,2,3,4,5] 到期1:100ms,2:200ms,3:30ms ...像这样。
如果您可以推荐适当的redis命令,那就太好了。
答案 0 :(得分:0)
是的,肯定有可能
redis> SET mykey "Hello"
"OK"
redis> EXPIRE mykey 10
(integer) 1
redis> TTL mykey
(integer) 10
redis>
您可以在密钥上设置TTL(生存时间),该密钥将在给定时间后过期。
答案 1 :(得分:0)
redis列表的设计和实现不支持此操作。但是还有另一种实现方法。
写:
zadd user_id article_id expired_time
阅读:
zrange user_id 0 -1 WITHSCORES
阅读要求到来时,获取该用户已阅读的所有article_id,并删除所有过期的项目:
for i in res:
if i.score < time.now()
zrem user_id i.article_id