汕头市公司网站建设平台,做一个购物商城网站多少钱,海外直播tiktok,天津网站建设服务电话mongodb一直都在不断的更新#xff0c;不断的发展#xff0c;那些非常好玩也非常实用的功能都逐步加入到了mongodb中#xff0c;这不就有了本篇对ttlindex的介绍#xff0c;刚好我们的生产业务场景中就有一个案例。。。一#xff1a;案例分析 生产的推荐系统要给用户发送短… mongodb一直都在不断的更新不断的发展那些非常好玩也非常实用的功能都逐步加入到了mongodb中这不就有了本篇对ttlindex的介绍刚好我们的生产业务场景中就有一个案例。。。一案例分析 生产的推荐系统要给用户发送短信和邮件的关联营销。第一波当用户在淘宝下单之后发送一次短信和邮件千人千面第二波为了增加回购率10天之后将会再次触发短信和邮件方式的千人千面场景就这样的流程图如下。技术上来说第一波营销中已经下单成功的客户需要给保存起来因为10天后需要对这一批用户再发送一次如果不让数据无限膨胀我需要不断清理 10 天的数据写个脚本虽然简单但没这个必要可以用 mongodb 中的 ttlindex 索引来搞定这件事设定 10天 之后自动过期。二:ttlIndex 现在我想大家对 ttlIndex 有了大概的认识查一下官方文档https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/#db.collection.createIndex 看看这种 ttlIndex 怎么创建
db.collection.createIndex(keys, options)从 options 中的 expireAfterSeconds 参数来看这个 value 是一个 int 型的 second而且这个 ttlIndex 是需要建立在docment的field上面的接下来创建一个简单的planeollection并且date的过期时间是2s主要是用来测试一下嘛。。。过 60s 之后再查看一下数据数据已经没有啦~~~可能有些人就有疑问了为什么这里要说最多 60s 之后再查看数据当然是有原因的因为 mongod 底层机制会开一个 background task60s轮转一次不信的话你可以看下官网的描述哦好了本篇就说这么多希望对你有帮助。