TypechoJoeTheme

Dcr163的博客

统计

用户发内容储存到redis,redis再存入mysql数据库

2019-09-12
/
0 评论
/
767 阅读
/
正在检测是否收录...
09/12
    /**
     * reids 连接函数
     * @return Redis
     * @throws Exception
     */
    function redis(){
        static $redis;
        //获取配置文件
        $cfg = \dcr\Base::getConfig('redis');
        if( is_null($redis) ){
            //连接redis 如果出现 redsis server went away 先检查防火墙是否开启了端口,再检查redis配置文件是否只bind了 127.0.0.1这个ip
            $redis = new \Redis();
            $redis->connect($cfg['host'],$cfg['port']);
            if( $cfg['auth'] ) $redis->auth('redis520');
            if( $redis->ping() !=='+PONG' ){
                throw new Exception('redis 连接失败');
            }
        };
        return $redis;
    }

class IndexController{
    
    /**
     *使用redis储存数据
     */
    function index(){
        $redis = redis();
    
        pr( $redis->lRange('user:content',0,-1) );
        if( !empty($_POST) ){
            $time = time();
            $info = array(
                'user_id'   => $_POST['user'],
                'content'   => $_POST['content'],
                'create_time'      => $time
            );
            $info = json_encode($info);
    
            $status = $redis->lPush('user:content',$info);
            if( !$status ){
                exit('提交成功<script>self.location=document.referrer;</script>');
            }
            exit('提交成功<script>self.location=document.referrer;</script>');
        }
        $userid = mt_rand(1,999999);
        include $this->show();
    }
    /**
     * 从mysql中写入mysql中
     * @throws \Exception
     */
    function redisToMysql(){
        $redis = redis();
        $model = new Model();
        $i = 0;
        if( $redis->lSize('user:content') > 0 ){
            while (true){
                ++$i;
                echo '插入地'.$i.'条记录<br/>';
                $info = $redis->rPop('user:content');
                $info = json_decode($info,true);
                $model->db->insert('weibo',$info);
            }
        } else {
            sleep(1);
        }
        $redis->close();
    }
}

这里仅仅只是展示思维逻辑,上面的具体代码不能通用。

朗读
赞(0)
版权属于:

Dcr163的博客

本文链接:

https://dcr163.cn/220.html(转载时请注明本文出处及文章链接)

评论 (0)

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月

最新回复

  1. William Tardent
    2024-02-27
  2. Maryann Hamer
    2024-02-27
  3. Sanora Pantano
    2024-02-24
  4. aa
    2024-02-21
  5. Kassie Baum
    2024-01-28

标签云