talk is cheap, show me the code!
本课程针对分布式session共享方案spring-session进行了jdbc(mysql),redis的实战。
分布式系统要做到用户友好,需要对用户的session进行存储,存储的方式有以下几种:
-
本地缓存
-
数据库
-
文件
-
缓存服务器
可以看一些不同方案的优缺点
1.本地机器或者本地缓存。优点:速度快 缺点:服务宕机后重启用户信息丢失,用户不优好
2.数据库。优点:技术栈简单 缺点:速度慢
3.文件。优点:技术栈简单,速度适中 缺点:无灾备或者灾备方案成本高
4.缓存服务器。一般是内存服务器,优点:速度快 可以和原有技术栈契合,有现成的解决方案。缺点:不明显
如果使用java语言,并且缓存服务器为redis,可以使用开源的spring session项目来解决。
spring session项目现有三个自项目,分别是
spring-session-data-redis 使用redis方式
spring-session-hazelcast 使用hazelcast方式
spring-session-jdbc 使用jdbc方式