Redis学习记录之————微博项目

Posted Tinywan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis学习记录之————微博项目相关的知识,希望对你有一定的参考价值。

Key设计

全局相关的key:

表名

global

列名

操作

备注

Global:userid

incr

产生全局的userid

Global:postid

Incr

产生全局的postid

 

 

 

 

 

用户相关的key():

表名

user

Userid

Username

Password

Authsecret

3

Test3

1111111

#U*Q(%_

 

 

 

 

 

 

用户注册:

 /**
     *  用户注册信息
     */
    public function userRegister()
    {
        $redis = RedisInstance::MasterInstance();
        $redis->select(10);
        $username = ‘tinywan‘.mt_rand(0000,8888);
        $password = ‘123456‘;
        if($redis->get(‘user:username:‘.$username.‘:userid‘)){
            exit(‘该用户名没有被使用‘);
        }
        //获取全局userId
        $userId = $redis->incr(‘global:userid‘);
        $redis->set(‘user:userId:‘.$userId.‘:username‘,$username);
        $redis->set(‘user:userId:‘.$userId.‘:password‘,$password);
        $redis->set(‘user:username:‘.$username.‘:userid‘,$userId);
    }

用于登录:

 /**
     *      用于登录信息
     */
    public function userLogin()
    {
        $redis = RedisInstance::MasterInstance();
        $redis->select(10);
        $username = ‘tinywan8165‘;
        $password = ‘123456‘;
        $uid = $redis->get(‘user:username:‘.$username.‘:userid‘);
        if($uid == false){
            exit(‘该用户名不存在‘);
        }
        $oldpwd = $redis->get(‘user:userId:‘.$uid.‘:password‘);
        if($password != $oldpwd){
            exit(‘密码错误‘);
        }
        echo ‘登录成功,跳转‘;
        homePrint($uid);
    }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

表名

global

列名

操作

备注

Global:userid

incr

产生全局的userid

Global:postid

Incr

产生全局的postid

以上是关于Redis学习记录之————微博项目的主要内容,如果未能解决你的问题,请参考以下文章

hadoop2.5.2学习13-MR之新浪微博-DF的实现

在微博微信场景下学习Redis数据结构

Redis学习笔记——搭建环境

ElasticSearch学习问题记录——Invalid shift value in prefixCoded bytes (is encoded value really an INT?)(代码片段

Redis学习记录之Transaction简析(十九)

Redis实现消息队列之发布订阅模式