0%

redis跟session

什么是Redis

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API

与其他用户状态保存方案比较

一般开发中用户状态使用session或者cookie,两种方式各种利弊。
Session:在InProc模式下容易丢失,并且引起并发问题。如果使用SQLServer或者SQLServer模式又消耗了性能
Cookie则容易将一些用户信息暴露,加解密同样也消耗了性能。
Redis采用这样的方案解决了几个问题,
①.Redis存取速度快。
②.用户数据不容易丢失。
③.用户多的情况下容易支持集群。
④.能够查看在线用户。
⑤.能够实现用户一处登录。(通过代码实现,后续介绍)
⑥.支持持久化。(当然可能没什么用)

实现思路

1.我们知道session其实是在cookie中保存了一个sessionid,用户每次访问都将sessionid发给服务器,服务器通过ID查找用户对应的状态数据。
在这里我的处理方式也是在cookie中定义一个sessionid,程序需要取得用户状态时将sessionid做为key在Redis中查找。
2.同时session支持用户在一定时间不访问将session回收。

-------------本文结束感谢您的阅读-------------