php 定时执行redis,php + redis如何设计一个定时发布功能

现在想要实现一个定时发布文章的功能,把文章id和发布时间放入redis中

我该怎么设计,在发布时间的时候,把文章的状态改为发布?

回复内容:

现在想要实现一个定时发布文章的功能,把文章id和发布时间放入redis中

我该怎么设计,在发布时间的时候,把文章的状态改为发布?

cron写一个定时执行脚本的命令,脚本主要实现array_shift()出文章数组的第一个,执行发送该id文章的命令,发送成功则存储shift之后的数组到redis,失败的话则添加回去。

如果是记录发布时间的话则用array_filter对时间进行过滤,默认时间是0或者其它,如果时间恒等于默认时间,则为真。然后再获取第一个文章id进行文章发布操作,成功则记录其时间,失败则不更改时间然后存储文章数组到redis中。

用 crontab,每一分钟跑一个 PHP 脚本,这个脚本负责查询是否有需要发布的文章,如果有就发布并且改变状态为已发布。这应该算是一个比较简单的思路了。

状态设置为预发布状态,查询文章时过滤掉发布时间为未来时间文章,预发布状态+发布时间 可以确定文章是已发布的,如果一定要设置发布状态值,可以在查询后判断再更新,如果一定要"定时"那就用 cron

还有一个想法是要发布的文章状态设置成已发布,然后是redis存储文章id,并且设置过期时间为发布时间戳减去当前时间戳的差值,查询文章是过滤redis中的文章id,这样文章到了发布时间就出来了,不过这样做 文章的查询需要封装

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值