Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。Session在计算机中,尤其是在网络应用中,称为“会话控制”;Session对象存储特定用户会话所需的属性及配置信息。
redis和session的区别
原生session在服务器端存储具有更高的可靠性,可以存储在文件、数据库、内存中。
使用Session维护用户登录转态的过程:
用户进行登录时,提交的登录表单,放入request;
服务器端校验用户名和密码;
通过后将用户信息存储到Redis中,在数据库中的key为session_id;
服务器返回的response中的set-cookie字段包含该session_id,客户端收到后将其值存入浏览器中;
客户端之后的操作的request中都包含session_id,服务器收到后提取出并在Redis中拿到该session,完成业务操作;
使用Redis来实现session的共享和存储,必须要保证session_id,不会被轻易获取和破解,并设置合理的失效时间,对敏感操作必须再次校验用户。