温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

redis应用之——注册、登录

发布时间:2020-05-29 05:11:16 来源:网络 阅读:1494 作者:梁十八 栏目:关系型数据库

字段设计:

#设置登录帐号:

set user:1:account zhangsan

set user:2:account lisi


#设置用户名:

set user:1:name 张三

set user:2:name 李四


#设置email:

set user:1:email zhangsan@test.test

set user:2:email lisi@test.test


#设置密码:

set user:1:passwd 123456

set user:2:passwd 666666


#为了能根据唯一的帐号、唯一的邮箱找到具体的人(包括姓名密码等)再设置:

set zhangsan:uid 1

set lisi:uid 2

set zhangsan@test.test:uid 1

set lisi@test.test:uid 2


每注册一个用户将global:uid加1

incr global:uid



php代码示例:

login.php

<?php
//session存到redis。如果php.ini中没有配置,可以在php代码中配置:
ini_set('session.save_handler', 'redis');
ini_set('session.save_path', 'tcp://127.0.0.1:6379');
session_start();
//已经登录则跳转到首页
if($_SESSION['uid']){
    echo 'hh';
    header('Location:./index.php');
}
if(!$_POST['account'] || !$_POST['passwd']){
    die('请完整输入帐号密码');
}
//连接redis
$redis = new Redis();
$redis->connect('127.0.0.1',6379);
$uid = $redis->get($_POST['account'].':uid');
$passwd = $redis->get('user:'.$uid.':passwd');
if(!$uid || $passwd!=$_POST['passwd']){
    die('帐号或密码错误');
}else{
    echo '登录成功';
}
$_SESSION['uid']=$uid;


注意:可以在php.ini中配置session存放redis

session.save_handler = redis

session.save_path = "tcp://127.0.0.1:6379"


register.php

<?php
if(!$_POST['account'] || !$_POST['passwd'] || !$_POST['passwd2']){
    die('请完整输入注册信息');
}
if($_POST['passwd'] != $_POST['passwd2']){
    die('两次密码输入不一致');
}
if(strlen($_POST['passwd'])<6){
    die('密码不能小于6位');
}
//连接redis数据库
$redis = new Redis();
$redis->connect('127.0.0.1',6379);
//查看用户名是否已被注册
if($redis->get($_POST['account'].':uid')){
    die('该帐号已被注册');
}
//每次注册一个用户将global:uid增加1
$uid = $redis->incr('global:uid');
$redis->set('user:'.$uid.':account',$_POST['account']);
$redis->set('user:'.$uid.':passwd',$_POST['passwd']);
$redis->set($_POST['account'].':uid',$uid);
~

注意:由于cookie存在本地,所以要加点盐(salt)。退出的时候要记得将cookie消除,还有redis中存的session也释放掉。

redis应用之——注册、登录


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI