对于一般中小型应用而言,Session入库是能满足项目需要的,一旦应用访问量上升,那频繁读写数据库中的Session也容易给系统带来瓶颈。
Session不是最优方案传统的Session是存储在应用服务器中的,一般是以文件形式存储在服务器硬盘中,这会导致过多Session带来的磁盘I/O压力,另一方面也不利于集群部署。在这种背景下,有人就提出将Session存入数据库来解决上述问题,事实上的确也解决了问题,但另一个问题也随之而来,那就是:一旦网站并发过大,也很容易导致数据库瓶颈,毕竟数据库查询也存在耗时的。
建议将Session存入Redis在实际生产环境中,大家基本上都是基于Redis来实现Session会话保持,这样做的好处有:
易于分布式/集群部署时实现Session互通;
Redis读写性能极高,Session频繁读写也不会带来性能压力;
利用Redis Key的过期功能可轻松控制Session的过期;
可以将每个用户的session id记录下来,这样就可以查到某个注册用户所有session id, 轻松实现踢出登陆功能。
以上就是偶的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 偶是科技领域创作者,十年互联网从业经验,欢迎关注偶了解更多科技知识!