相關(guān)關(guān)鍵詞
關(guān)于我們
最新文章
php redis實現(xiàn)文章發(fā)布系統(tǒng)(用戶投票系統(tǒng))
本文實例為大家分享了php實現(xiàn)文章發(fā)布系統(tǒng)、用戶投票系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
/** * @data 文章發(fā)布 * 文章詳情散列表中遞增ID,講文章發(fā)布者ID寫入投票用戶集合中,設(shè)置投票時間為一周 * 講文章內(nèi)容寫入文章散列中,講文章寫入文章評分有序集合和文章發(fā)布有序集合中 * @author Lorne * @date 2017-03-03 */ public function post_article($user){ $VOTE_SCORE = 24; $redis = $this -> redis; $key= "queue"; $ONE_WEEK_IN_SECONDS= 7*86400; $redis -> multi($key); //生成新的文章id $article_id = $redis -> incr("article:",$key); //文章已投票用戶名單 $voted = "voted:".$article_id; $this->redis->sadd($voted,$user,$key); //設(shè)置過期時間(為1周) $this->redis->expipre($voted,$ONE_WEEK_IN_SECONDS,$key); //獲取現(xiàn)在的時間 $now =time(); $article = "article:".$article_id; $data = ['title'=>'測試1','link'=>'www.hahaha.com','poster'=>$user,'tine'=>$now,'votes'=>1]; //$data = json_encode($data); $redis -> hmset($article,$data,$key); //將文章添加到根據(jù)時間排序有序集合和根據(jù)評分排序有序結(jié)合中 $this -> redis -> zadd("score:",1,$article,$key); $this -> redis -> zadd("time:",$now,$article,$key); $redis -> exec($key); }