Redis示例---构建文章投票网站

本文介绍了如何利用Redis实现一个文章投票网站的功能,通过PHP进行交互,利用Redis的数据存储和高速读写特性,高效地记录和统计用户投票情况。
摘要由CSDN通过智能技术生成
<?php

/**
 * @description: 
 * 用Redis构建一个文章投票网站
 *  1. 发布文章 
 *hash"article:{$articleId}:content"存储文章的内容、标题、标签等
 *     用zset"article:time"存储文章的发布时间,作为发布时间时间排行榜
 *     用zset"article:score"存储文章的发布时间和点赞累计后的综合值,作为综合评分排行榜
 *set"article:{$articleId}:vote"存储给用户点赞的用户id,并设置一周的过期时间
 *set'article:tags'存储所有的文章标签
 *set"{$tag}:{$tagId}"存储每一个文章标签下的文章id
 * 
 * @author: 0Robert0
 */

class TestRedis
{
   
    const ADD_SCORE = 432;
    const EXPIRATION_TIME = 86400 * 7;
    private $redis;

    public function __construct()
    {
   
        $this->redis = new Redis();
        //连接参数:ip、端口、连接超时时间,连接成功返回true,否则返回false
        $this->redis->connect('127.0.0.1', 6379); 
    }

    // 发布文章
    // 先获取文章id;再创建文章发布时间有序集合;创建文章综合评分有序集合;
    // 然后创建为文章点赞的用户集合,并把作者本身写入进去,不允许自己给自己点赞,并设置一周的
    // 过期时间,为了内存考虑一周之后清掉用户点赞集合
    // 设置文章标签
    public function publishArticle($authorId, $tag)
    {
   
        // TODO 多个命令的串联操作,应该开启事务
        $articleId = $this->getId('article:id');
        $tagId = $this->getId('tag:id');
        $articleContent = [
            'title' => 'article title' . $articleId, 
            'author' => 'Rebort' . $articleId, 
            'content' => 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值