相關(guān)關(guān)鍵詞
關(guān)于我們
最新文章
- PHP中opcode緩存簡單用法分析
- thinkPHP控制器變量在模板中的顯示方法示例
- PHP move_uploaded_file() 函數(shù)(將上傳的文件移動(dòng)到新位置)
- dirname(__FILE__)的含義和應(yīng)用說明
- thinkPHP5框架實(shí)現(xiàn)分頁查詢功能的方法示例
- PHP中單雙號(hào)與變量
- PHP獲得當(dāng)日零點(diǎn)時(shí)間戳的方法分析
- Laravel ORM對(duì)Model::find方法進(jìn)行緩存示例詳解
- PHP讀寫文件高并發(fā)處理操作實(shí)例詳解
- 【CLI】利用Curl下載文件實(shí)時(shí)進(jìn)度條顯示的實(shí)現(xiàn)
php redis實(shí)現(xiàn)文章發(fā)布系統(tǒng)(用戶投票系統(tǒng))
本文實(shí)例為大家分享了php實(shí)現(xiàn)文章發(fā)布系統(tǒng)、用戶投票系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
/** * @data 文章發(fā)布 * 文章詳情散列表中遞增ID,講文章發(fā)布者ID寫入投票用戶集合中,設(shè)置投票時(shí)間為一周 * 講文章內(nèi)容寫入文章散列中,講文章寫入文章評(píng)分有序集合和文章發(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è)置過期時(shí)間(為1周) $this->redis->expipre($voted,$ONE_WEEK_IN_SECONDS,$key); //獲取現(xiàn)在的時(shí)間 $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ù)時(shí)間排序有序集合和根據(jù)評(píng)分排序有序結(jié)合中 $this -> redis -> zadd("score:",1,$article,$key); $this -> redis -> zadd("time:",$now,$article,$key); $redis -> exec($key); }