flypen
V2EX  ›  问与答

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

  •  
  •   flypen · Jan 28, 2012 · 5780 views
    This topic created in 5395 days ago, the information mentioned may be changed or developed.
    内存,文件,MYSQL等关系数据库,还是memcached/redis之类的key-value store?在选择存储位置时,一般有啥顾虑?
    9 replies  •  1970-01-01 08:00:00 +08:00
    Los
    Los
    Jan 28, 2012
    1
    rails 的 Session 存储机制中有个基于Cookie的方案,称为 CookieStore
    iammutex
    iammutex
    Jan 28, 2012
    2
    动态页面的session访问量太大,所以我一般用memcached来存~
    flypen
    flypen
    OP
    Jan 28, 2012
    3
    @iammutex 如果重启了memcached服务,那是不是所有session都给丢掉了?
    arden
    arden
    Jan 28, 2012
    4
    redis
    arden
    arden
    Jan 28, 2012
    5
    MySQL + HanderSocket
    notedit
    notedit
    Jan 28, 2012
    6
    @flypen 丢掉了也没什么关系 顶多重新登陆一次 现在用memcache和redis的比较多 如果用户不多的话直接存服务进程里面都可以
    flypen
    flypen
    OP
    Jan 29, 2012
    7
    @notedit session偶尔丢掉倒不是很严重的问题。但是如果有很多很多用户登录,session超时时间又不能设置得太短,则可能会导致内存里面有过多的数据——但是同时在线人数也许并不多,这样造成了对内存的浪费。这样子看上去,用传统数据库是否更好一些了?
    sarices
    sarices
    Jan 29, 2012
    8
    开始用文本,用户多以后用memcache,如果更加多的话一般都是用多台服务器,或者增加内存
    notedit
    notedit
    Jan 29, 2012
    9
    @flypen 一个session能有多大 也就几百字节吧。 就算一个session 1kb 的话,100万个session 也才占用1G的空间。
    传统关系数据库的话对性能就有影响了, 每个请求都要查询数据库。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2885 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 12:04 · PVG 20:04 · LAX 04:04 · JFK 07:04
    ♥ Do have faith in what you're doing.