session(会话)和connection(连接)的定义: connection:是一个物理的概念,它指的是一个通过网络建立的客户端和专有服务器(Dedicated Server)或共享服务器(Shared Server)的一个网络连接,既是一条物理路劲。
session:是一个逻辑的概念,它是存在于实例中,一个连接可以拥有多个会话也可以没有会话,同一个连接上的不同会话之间不会相互影响。
session和connection的区别与联系: 1. 一个用户对应一个session,但不一定对应一个connection ,因为几个session可以共享一个connection。
2. 在dedicated sever(专用服务器)连接模式下,session和connection一一对应,且个数上session = connection。
3. 在shared server(共享服务器)连接模式下, 个数上session >= connection。
4. 在shared server的multiplexing session模式下,session >= connection,且并不一一对应。
有一位专家的比喻更形象:
有A/B两个城市,需要从A运送白菜到B城
我们先建设一条公路 然后运送白菜过去,包括准备白菜和运送白菜以及返回等一系列的动作。
一条公路,可以运送0-n次的白菜 当然从A到B的公路也可能不只一条。 某一次运送白菜,可以在真正上路时才开通某一条道路 一次运送不会影响别的运送的状态
对应数据库 A代表客户端进程 B代表服务器端进程 公路代表连接, 运送一次白菜代表一个会话
一个连接可以进行多次的会话 一个会话可以不依赖于某个连接,甚至没有连接(当我准备好了,真正开始运送时再建立连接) 一个会话不会影响别的会话
[此贴子已经被作者于2012-6-20 16:30:37编辑过] |