現在有這樣一個需求,就是后臺發布商品,不是立即上架,而是設定一個時間,到時間自動上架!我現在有兩種想法。第一種方法:后臺發布商品時,把設定上架的時間轉換為unixtime,比如:1559192131然后,再用zadd寫入到redis中$key='auto:publish';$time=1559192131;$data=['goodsId'=>1,'expire'=>1559195131,];$redis->zAdd($key,$time,json_encode($data));然后,用swoole起一個定時任務從zset中拿第一條數據,再對比時間是否達到自動發布的條件!如果自動發布了,就把第一條刪除!第二種方法:就是直接向redis寫入list數據$redis->rPush($key,json_encode($data));然后用swoole定時的去消費這個list$data=$redis->lPop($key);如果到了上架時間,就上架,如果沒到,再把數據寫到list中!我感覺這兩種方法都不是太好,大神們有沒有更好的解決辦法?
有沒有人遇到過這個問題哈!商品自動如何上架?
慕容708150
2019-09-26 09:05:52