session存储在缓存数据库
- 内存中存储数据的数据库,叫缓存数据库。有redis和memcached
- redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便
- memcached 内存key-value数据库。是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。
- 以上2者是存储session的较好的方式。session原本是存在进程中的,session的读写非常频繁。如果进程比较多,那么有可能导致存储session的进程奔溃,所以可以考虑将session存储在redis或memcached中.redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步
···
req.session.user=user
···