redis+thinkphp5的注册、登陆、关注基础例子

最近初步接触redis,结合thinkphp5与redis,写了一个用户注册的基础例子,用于学习。

这个例子是结合了兄弟连的redis视频,最后两节的内容写的:
https://study.163.com/course/courseMain.htm?courseId=265010

这个例子实现了以下功能:

(1)用户注册
(2)用户登陆
(3)redis+thinkphp5的数据的增加,修改,删除
(4)redis翻页功能
(5)用户的关注列表+粉丝列表

案例需要搭建的环境需求:
(1)thinkphp5
(2)redis
(3)phpredis(windows环境下也可以)
(4)redis desktop manager (用于观察redis server 的数据存储情况,当然这个不安装也可以)

说明:
(1)这个例子,主要是使用了phpredis的原生函数命令进行的redis的数据的增加,删除,修改等操作,并没有丰富thinkphp中的redis类库函数。
(2)涉及到了string,hash,set ,list数据类型,用于加深对redis数据类型的学习。

thinkphp5 控制器的文件代码:

namespace app\home\controller; 

use think\Controller;

class Test extends Base{
   

        public function index()
        {
   
            $redis = new \Redis();
            $redis->connect('127.0.0.1', 6379);
            if(IS_POST){
   
            $username = I('post.username');
            $password = md5(I('post.password'));
            $age = I('post.age');
            $uid = $redis->incr("userid");//$uid自增操作
            $redis->hMset("user:$uid",array("uid"=>$uid,"username"=>$username,"password"=>$password,"age"=>$age));
            //把用户结构存在链表里,每次注册一个用户,就向链表中插入一个用户
            $redis->rPush("uid",$uid);
            $redis->set("username:".$username,$uid);
            $this->success('注册成功', 'Test/list_content');
            }
            return $this->fetch();
     
          }
    
          public function list_content()
          {
   
              $redis = new \Redis();
              $redis->connect('127.0.0.1', 6379);


              //var_dump($data);
              //用户总数
              $count = $redis->lSize("uid");
              //echo  $count = $redis->lSize("uid");
              //页容量
             $page_size = 3;
             //当前页码:
             $page_num = (!empty(I('get.page')))?I('get.page'):1;
             $page_num_pre = (($page_num-1)<=1)?1:($page_num-1);//上一页

             //页总数
             $page_count = ceil($count/$page_size);
             $page_num_next = (($page_num+1)>=$page_count)?$page_count:($page_num+1);//下一页
             $ids = $redis->lrange("uid",($page_num-1)*$page_size,($page_num-1)*$page_size+$page_size-1);
             //http://www.c41.c4/home/Test/list_content/page/2
            // var_dump($ids);
             
//              for($i=1;$i<=($redis->get("userid"));$i++){
   
//                  $data[] =  $redis->hgetall("user:".$i);
//              };

             foreach ($ids as $v){
   
                 $data[] =  $redis->hgetall("user:".$v);
             }
             if(!empty($_COOKIE['auth'])){
   
                 $welcome = "您已登陆";
                 $id = $redis->get("auth:".$_COOKIE['auth']);
                 $name = $redis->hget("user:".$id,"username");
                 $logout = '<a href="/home/Test/logout.html">退出登陆</a>';
             }else{
   
                 $welcome = '<a href="/home/Test/login.html">登陆页面</a>';
                 }
            
                 if(!empty($_COOKIE['auth'])){
   
                  $c=0;   
                 }
            // $data = array_filter($data);
            
             $follow_data = $redis-
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值