>  기사  >  백엔드 개발  >  기사 출판 시스템(사용자 투표 시스템)을 구현한 PHP Redis의 예에 대한 자세한 소개

기사 출판 시스템(사용자 투표 시스템)을 구현한 PHP Redis의 예에 대한 자세한 소개

黄舟
黄舟원래의
2017-03-06 09:30:071697검색

이 글은 주로 php redis가 구현한 글 게시 시스템과 사용자 투표 시스템을 자세하게 소개하고 있습니다. 관심 있는 친구들이 참고하시면 좋을 것 같습니다.

이 글의 예시를 공유합니다. PHP에서 기사 게시 시스템과 사용자 투표 시스템을 구현하기 위한 구체적인 코드는 다음과 같습니다.

/**
  * @data 文章发布
  *    文章详情散列表中递增ID,讲文章发布者ID写入投票用户集合中,设置投票时间为一周
  *    讲文章内容写入文章散列中,讲文章写入文章评分有序集合和文章发布有序集合中
  * @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);
    //设置过期时间(为1周)
    $this->redis->expipre($voted,$ONE_WEEK_IN_SECONDS,$key);

    //获取现在的时间
    $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);

    //将文章添加到根据时间排序有序集合和根据评分排序有序结合中
    $this -> redis -> zadd("score:",1,$article,$key);
    $this -> redis -> zadd("time:",$now,$article,$key);

    $redis -> exec($key);
  }


아아아아

아아아아

아아아아

아아아아

php+redis를 사용하면 기사 게시 시스템, 사용자 투표, 기사 그룹화, 페이지 정렬을 쉽게 구현할 수 있습니다.

redis는 문자열(문자열), 목록(연결된 목록), 집합(집합), zset(정렬된 집합 - 정렬된 집합) 및 해시의 다섯 가지 가장 일반적인 유형인 고성능 키-값 저장소 시스템입니다. (해시형) Redis는 업데이트된 데이터를 주기적으로 디스크에 쓰거나 수정 작업을 추가 레코드 파일에 쓰는데, 이를 기반으로 마스터-슬레이브(master-slave) 동기를 구현한다는 점입니다.

최근에는 redis를 사용하는 것을 점점 더 좋아하고, 좋아하는 사람들이 함께 더 많이 소통할 수 있습니다.

위 내용은 PHP, redis, 기사 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.