千家信息网

redis应用之——注册、登录

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,字段设计:#设置登录帐号:set user:1:account zhangsanset user:2:account lisi#设置用户名:set user:1:name 张三set user:2:n
千家信息网最后更新 2025年01月31日redis应用之——注册、登录

字段设计:

#设置登录帐号:

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

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

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也释放掉。


0