V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
flypen
V2EX  ›  问与答

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

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