调查一下,Web开发中,大家一般都是把session存放在什么地方?

2012-01-28 14:41:10 +08:00
 flypen
内存,文件,MYSQL等关系数据库,还是memcached/redis之类的key-value store?在选择存储位置时,一般有啥顾虑?
4621 次点击
所在节点    问与答
9 条回复
Los
2012-01-28 15:00:27 +08:00
rails 的 Session 存储机制中有个基于Cookie的方案,称为 CookieStore
iammutex
2012-01-28 15:05:24 +08:00
动态页面的session访问量太大,所以我一般用memcached来存~
flypen
2012-01-28 16:07:15 +08:00
@iammutex 如果重启了memcached服务,那是不是所有session都给丢掉了?
arden
2012-01-28 16:07:18 +08:00
redis
arden
2012-01-28 16:07:33 +08:00
MySQL + HanderSocket
notedit
2012-01-28 17:53:31 +08:00
@flypen 丢掉了也没什么关系 顶多重新登陆一次 现在用memcache和redis的比较多 如果用户不多的话直接存服务进程里面都可以
flypen
2012-01-29 09:45:35 +08:00
@notedit session偶尔丢掉倒不是很严重的问题。但是如果有很多很多用户登录,session超时时间又不能设置得太短,则可能会导致内存里面有过多的数据——但是同时在线人数也许并不多,这样造成了对内存的浪费。这样子看上去,用传统数据库是否更好一些了?
sarices
2012-01-29 10:01:37 +08:00
开始用文本,用户多以后用memcache,如果更加多的话一般都是用多台服务器,或者增加内存
notedit
2012-01-29 19:58:23 +08:00
@flypen 一个session能有多大 也就几百字节吧。 就算一个session 1kb 的话,100万个session 也才占用1G的空间。
传统关系数据库的话对性能就有影响了, 每个请求都要查询数据库。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/26148

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX