本文实例讲述了redis+php实现微博注册与登录功能。分享给大家供大家参考,具体如下:

(一)、微博功能概况

微博用户账号注册

微博用户登录

微博发布

添加微博好友(粉丝)

微博推送

微博冷数据写入mysql数据库

(二)、redis数据结构设计

这节分享微博用户注册与登录:

我们完全采用redis作为数据库来实现注册于登录

先来看一下redis数据结构的设计:

注册用户表:user

发布微博表:post

(三)、核心代码说明

注册代码:

include("function.php");

//用户表单提交数据接收

$username = I('username');

$password = I('password');

$pwd = I('password2');

if(!$username || !$password || !$pwd){

exit('用户名密码不能够为空~');

}

if($password!=$pwd){

exit('两次密码输入不一致哦~');

}

//连接redis调用公用方法

$r = redis_connect();

//判断用户是否注册过

$info = $r->get("user:username:".$username.":userid");

if($info){

exit('该用户已经注册过');

}

//将用户数据存入redis中

$userid = $r->incr('global:userid');

$r->set("user:userid:".$userid.":username",$username);

$r->set("user:userid:".$userid.":password",$password);

$r->set("user:username:".$username.":userid",$userid);

header("location:home.php");

登录代码:

include("function.php");

//如果用户已经登录调整到微博列表页面

if(isLogin()!=false){

header("location:home.php");

exit;

}

$username = I('username');

$password = I('password');

if(!$username || !$password){

exit('数据输入不完整');

}

$r = redis_connect();

$userid = $r->get("user:username:".$username.":userid");

if(!$userid){

exit('用户不存在');

}

$password = $r->get("user:userid:".$userid."password:".$password);

if(!password){

exit('密码输入错误');

}

/**设置cookie登录成功**/

setcookie('username',$username);

setcookie('userid',$userid);

header("location:home.php");

function文件代码:

/*

*@desc 连接redis操作方法

*/

function redis_connect(){

$redis = new Redis();

$redis->connect('127.0.0.1',6379);

return $redis;

}

/*

*@desc 接收数据方法

**/

function I($post){

if(empty($post)){

return false;

}

return trim($_POST[$post]);

}

/**

*@desc 判断是否登录

***/

function isLogin(){

$username = $_COOKIE['username'];

$userid = $_COOKIE['userid'];

if(!$username || $userid){

return false;

}

return array('userid'=>$userid,'username'=>$username);

}

说明:代码写的可能比较简单,这里只是阐述实现原理

希望本文所述对大家PHP程序设计有所帮助。

php redis 用户注册,redis+php实现微博(一)注册与登录功能详解相关推荐

  1. 微博登录界面的PHP代码,redis+php实现微博(一)注册与登录功能详解

    本文实例讲述了redis+php实现微博注册与登录功能.分享给大家供大家参考,具体如下: (一).微博功能概况 微博用户账号注册 微博用户登录 微博发布 添加微博好友(粉丝) 微博推送 微博冷数据写入 ...

  2. ajax用户注册验证视频,jquery+ajax实现注册实时验证实例详解

    本文实例讲述了jquery+ajax实现注册实时验证.分享给大家供大家参考,具体如下: 当我们注册一个用户时,会实时提示该用户的信息是否可用,这就是ajax的应用,很久以前就看过这个实现了,今天又看了 ...

  3. redis stream持久化_Beetlex.Redis之Stream功能详解

    原标题:Beetlex.Redis之Stream功能详解 有一段时间没有写文章,techempower的测试规则评分竟然发生了变化,只能忘着补充一下占比权重最多的数据更新示例了和深入设计一下组件模块化 ...

  4. mysql防止超发_PHP+redis实现的限制抢购防止商品超发功能详解

    本文实例讲述了PHP+redis实现的限制抢购防止商品超发功能.分享给大家供大家参考,具体如下: redis不仅仅是单纯的缓存,它还有一些特殊的功能,在一些特殊场景上很好用.redis中key的原子自 ...

  5. redis一般缓存什么样数据_Redis缓存和MySQL数据一致性方案详解

    关注我,可以获取最新知识.经典面试题以及技术分享 一.需求起因 在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节.所以,就需要使用redis做一个缓冲操作,让请求先访问到redis, ...

  6. Redis系列教程(九):Redis的内存回收原理,及内存过期淘汰策略详解

    Redis内存回收机制 Redis的内存回收主要围绕以下两个方面: 1.Redis过期策略:删除过期时间的key值 2.Redis淘汰策略:内存使用到达maxmemory上限时触发内存淘汰数据 Red ...

  7. redis队列优先级java实现_Redis 实现队列原理的实例详解

    Redis 实现队列原理的实例详解 场景说明: ·用于处理比较耗时的请求,例如批量发送邮件,如果直接在网页触发执行发送,程序会出现超时 ·高并发场景,当某个时刻请求瞬间增加时,可以把请求写入到队列,后 ...

  8. 微博爬虫“免登录”技巧详解及Java实现

    本文源地址:http://www.fullstackyang.com/...,转发请注明该地址或segmentfault地址,谢谢! 一.微博一定要登录才能抓取? 目前,对于微博的爬虫,大部分是基于模 ...

  9. 微博爬虫“免登录”技巧详解及 Java 实现(业余草的博客)

    一.微博一定要登录才能抓取? 目前,对于微博的爬虫,大部分是基于模拟微博账号登录的方式实现的,这种方式如果真的运营起来,实际上是一件非常头疼痛苦的事,你可能每天都过得提心吊胆,生怕新浪爸爸把你的那些账 ...

最新文章

  1. 1112: 零起点学算法19——输出特殊值
  2. CSDN实现自动点赞
  3. Android 开发之 ---- bootloader (LK)
  4. 图书资料管理课程设计(附源码和连接)
  5. 二叉树的链表存储与遍历
  6. ROS学习笔记02:ROS架构与基础
  7. Intel处理器电源管理技术(2) - 概述 - EIST P-State Turbo Boost HWP
  8. 讨伐 Google!为什么建智能城市要毫无隐私?| 极客头条
  9. 纵观 30 年 5000 多部国产电视剧,豆瓣评分最低的演员原来是……
  10. matlab 数字波束合成,dbf数字波束合成
  11. comsol 计算机配置,[转]我需要一台什么样的电脑运行我的COMSOL Multiphysics - 仿真模拟 - 小木虫 - 学术 科研 互动社区...
  12. Linux version 4.19.90-2003.4.0.0036.oe1.aarch64安装carbonData
  13. adc0832工作原理详解_ADC0832内部原理
  14. 如迷的解谜者——Alan Turing
  15. php将json转化成数组,php如何把json转换成数组
  16. 「云」上风景虽好,但不要盲目跟风
  17. 财务说账单上少了一分钱,老板看到代码气疯了
  18. [转]谈NAND Flash的底层结构和解析
  19. (java毕业设计)基于java企业财务管理系统源码
  20. markdown 换行

热门文章

  1. powerdesigner 同步mysql 报错_PowerDesigner技巧小结
  2. 一般判五年几年能出来_判刑五年能减刑多少年
  3. oracle10g cssd日志,【案例】Oracle CSSD进程HANG导致RAC节点重启原因分析笔记
  4. lsof查看占用高_linux lsof命令查看文件占用进程
  5. html页面创建二维数组,二维数组到HTML表?
  6. 查询用户所有信息后只需要两个字段的信息_Excel VBA+ADO+SQL入门教程023:OpenSchema获取表信息...
  7. python正则表达式操作指南_Python正则表达式操作指南
  8. php左右滑动翻页代码,C#_NGUI实现滑动翻页效果实例代码,废话不多说了,直接给大家上 - phpStudy...
  9. c语言数据结构线性表LA和LB,数据结构(C语言版)设有线性表LA(3,5,8,110)和LB(2,6,8,9,11,15,20)求新集合?...
  10. 与孩子一起学编程 python_【和孩子一起学编程】 python笔记--第五天