|  |      1letitbesqzr      2016-11-25 22:15:03 +08:00 不同框架 不同容器 都可能存在不同的地方 | 
|  |      2shinwood      2016-11-25 22:16:40 +08:00 PHP 的 session 一般是保存为文件的… | 
|  |      3Zzzzzzzzz      2016-11-25 22:29:28 +08:00 不用多想, 找个带多后端封装的 session 实现就明白了, 一般就是硬盘文件、 memcached 、 redis 、数据库、 主容器的内存、客户端加密的 cookie | 
|  |      4Ouyangan      2016-11-25 22:30:25 +08:00 拿 java tomcat 举例 ,运行时 session 是在内存中的,说白了就是一个 concurrentHashmap ,正常关闭和重启会有序列化写入文件的机制, 但是直接杀掉是不会序列化 session 到文件的. | 
|  |      5murmur      2016-11-25 22:34:56 +08:00 小的用默认实现 大的要上到 redis 或者 memcache 里 | 
|  |      6cxbig      2016-11-25 23:58:35 +08:00 框架一般都是写文件或数据库的,要特别配置才会和 redis 、 memcached 等缓存机制挂钩 你这个情况先检查缓存文件文件夹,再检查数据库表,应该能找到 session 的存放点 | 
|  |      7pathbox      2016-11-26 01:14:49 +08:00 很多地方都可以保存  文件 cookie redis 内存等 | 
|  |      8oncew OP @cxbig  我以为 session 是随着 web 框架一起运行在内存中,关闭服务就会将 session 清空,没料到 web 框架会有自动将 session 序列化到本地文件的机制 -- | 
|  |      11q397064399      2016-11-26 10:03:43 +08:00 楼主是用的 JavaEE 吧 Servlet 规范里面 有这个接口, HttpSessionActivationListener 配置到 web.xml 里面你就可以看到 Session 的持久化跟激活了 | 
|  |      12q397064399      2016-11-26 10:10:47 +08:00 Tomcat 也提供自定义的 SessionManager 管理器 | 
|      13jimzhong      2016-11-26 15:53:03 +08:00 Session 可以存在服务端或者客户端。 如果存客户端就是用 cookie ,要加密并签名,只建议在非关键场合使用。此时要配置一个 SESSION_KEY ,只要 key 不变,用户 cookie 没过期,即使服务器重启 session 也不丢。 如果存服务端可以放在文件里,放关系数据库里,放 redis 里。然后给用户分配一个随机的 sessionid ,用这个 id 取 session 。我比较喜欢放 redis 里,性能会好一些吧。 | 
|  |      14oncew OP 多谢各位 ~~ ,找到了一遍还不错的文章    https://astaxie.gitbooks.io/build-web-application-with-golang/content/zh/06.1.html |