session共享的四种方式

  • 方式一:将存储在服务端的session保存在客户端cookie中
  • 方式二:Session放在数据库中进行共享
  • 方式三:基于NFS的session共享
  • 方式四:基于Key + Value内存数据库的Session共享

方式一:将存储在服务端的session保存在客户端cookie中

按照自定义的加密规则将session数据加密保存到cookie中:
优点:服务器压力减小,同时能够解决在多个服务器之间session不共享的问题。
缺点:不同的浏览器对cookie容量有大小限制;客户端每次请求都需要通过cookie发送session数据给服务器,导致网络请求占用高。
该方案不适合高访问量:带宽性能消耗大。

方式二:Session放在数据库中进行共享

建议使用内存表Heap进行存储
优点:安全性好。
缺点:(1)自己需要实现session淘汰逻辑;(2)进行高并发读写时,数据库性能将会成为瓶颈,且容易出现表锁。

方式三:基于NFS的session共享

多台运行服务器共享保存session文件的磁盘。
优点:实现简单,仅需将共享目录服务器mount到各频道服务器的本地session目录。
缺点:NFS依托于复杂的安全机制和文件系统,因此并发效率不高,尤其对于session这类高并发读写的小文件, 会由于共享目录服务器的io-wait过高,最终拖累前端WEB应用程序的执行效率。

方式四:基于Key + Value内存数据库的Session共享

推荐使用
优点:性能很高,用户并发量很大的时候尤其合适(内存数据读取速度快)。
内存数据库系统都有实现数据过期淘汰机制,可实现session过期删除。

session共享的四种方式相关推荐

  1. 跨服务器Session共享的四种方法

    摘自:http://www.code163.com/web/20100423363.html 网站业务规模和访问量的逐步发展,原本由单台服务器.单个域名的迷你网站架构已经无法满足发展需要. 此时我们可 ...

  2. Session共享的四种方法

    1. 基于NFS的Session共享 NFS是Net FileSystem的简称,最早由Sun公司为解决Unix网络主机间的目录共享而研发. 这个方案实现最为简单,无需做过多的二次开发,仅需将共享目录 ...

  3. Action中取得request,session的四种方式

    Action中取得request,session的四种方式 在Struts2中,从Action中取得request,session的对象进行应用是开发中的必需步骤,那么如何从Action中取得这些对象 ...

  4. Linux进程通信的四种方式——共享内存、信号量、无名管道、消息队列|实验、代码、分析、总结

    Linux进程通信的四种方式--共享内存.信号量.无名管道.消息队列|实验.代码.分析.总结 每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须 ...

  5. Linux C++多线程同步的四种方式

    目录 一.互斥锁 二.条件变量 三.读写锁 原文链接:Linux C++多线程同步的四种方式(非常详细)_Y先森0.0-CSDN博客 背景问题:在特定的应用场景下,多线程不进行同步会造成什么问题? 通 ...

  6. photon四种同步方式_【Linux】多线程同步的四种方式

    背景问题:在特定的应用场景下,多线程不进行同步会造成什么问题? 通过多线程模拟多窗口售票为例: #include #include#include#include#include#include us ...

  7. Bootstrap4+MySQL前后端综合实训-Day01-PM【position定位的四种方式、Flex布局语法教程及案例(概念、容器属性、项目属性)、双飞翼布局复习、Bootstrap4 教程】

    [Bootstrap4前端框架+MySQL数据库]前后端综合实训[10天课程 博客汇总表 详细笔记] 目   录 HTML中的三种元素(块元素.内联元素.内联块元素) position定位的四种方式 ...

  8. linux数据同步技术比较,linux下实现web数据同步的四种方式(性能比较)教程.docx

    linux下实现web数据同步的四种方式(性能比较)教程 实现web数据同步的四种方式=======================================1.nfs实现web数据共享2.rs ...

  9. 安卓androidstudio访问本地接口_安卓开发之数据存储在本地的四种方式

    ​ 安卓开发之数据存储在本地的四种方式 本地数据存储,在安卓开发过程中是不可避免的一个话题.这些本地的数据可能是用户的设置,程序的设置,用户的数据图片, 也可能是网络传输的一些缓冲数据. 基本上我们有 ...

最新文章

  1. jspxcms bug表
  2. r型聚类典型指标_文献解读 | 缺陷和非缺陷型精神分裂症脑网络功能紊乱的共性和异性...
  3. ASP.NET 导出EXCEL
  4. 山西省内大学计算机,在山西省哪几所大学的计算机系比较有名
  5. 【数据分析】离婚率逐年上升,数据分析告诉你背后的主因竟然是它!
  6. Jerry入职SAP成都研究院14周年纪念日
  7. source insight 解决自动缩进 和 TAB键=4个SPACE
  8. 关系数据库——mysql常用函数总结
  9. 关于Spring 任务调度之task:scheduler与task:executor配置的详解
  10. Android 系统(104)---浅谈ANR及log分析ANR
  11. Photoshop CS5的序列号
  12. 【李宏毅2020 ML/DL】P81 Generative Adversarial Network | Intelligent Photo Editing
  13. 《春夜宴桃李园序》的理解
  14. Redis 如何简化实现微服务的设计模式?
  15. java 3dm_3dm游戏运行库合集安装包-游戏运行库合集安装包下载v3.0DM整理-西西软件下载...
  16. 小游戏策划案例精选_小游戏活动策划案?
  17. 汉王考勤程序驱动软件安装
  18. ubuntu下查看opencv版本
  19. RHCE(一、二)nmcli命令学习、Linux例行性工作命令atd和crond学习
  20. scheme 中文教程

热门文章

  1. 【CSDN软件工程师能力认证学习精选】vue.js 三种方式安装(vue-cli)
  2. whole-genome-sequencing Data Analysis 学习笔记2 软件安装
  3. 如下图所示,在Hub再生比特流的过程中会产生1.535us的延时,信号传播速率为200m/us,不考虑......[CSMA/CD协议+综合]错题总结
  4. 【iOS】NSOperation
  5. linux下的single()函数
  6. linux 安装软件 tgz,开源之系统:Ubuntu系统里如何安装.tgz软件包和.sh安装文件
  7. oracle 三步运算符,ORA-01476: 除数为 0
  8. PHP连接数据库实现用户注册登录功能
  9. 怎么实现类似今日头条app
  10. 从小红书app开启逆向之旅(1)