关于在线用户的存储问个效率问题

#1 redguan

当千人在线,或者万人在线。哪种存储效率高点

1、session
2、sql的内存表
3、memcachedb
4、ramdisk盘的文件

除第一种外,其它三种理论上都是放在内存上。
(第一种,在php.ini 配置文件上,将session_path 指向到ramdisk盘 。应该可以达到内存存储,没测试过)

2010-05-26 12:03:13

#2 jake

建议是缓存系统,类似memcache之类的。

不过实际情况中就复杂很多,目前许多大型的系统都倾向于不在服务器上面记录在线数据,也就是没有了“在线”的概念,只是进行统计,用户的身份识别是通过COOKIE和缓存系统来进行的。

2010-05-26 16:56:47

#3 redguan

建议是缓存系统,类似memcache之类的。

不过实际情况中就复杂很多,目前许多大型的系统都倾向于不在服务器 ...
jake 发表于 2010-5-26 16:56
我也有这个打算,将MYSQL的在线用户表去掉。换另一种方式统计。

但我手头上没成功例子。

如果用memcache 的话,KEY不好管理。起码要两个存储位置。第一个是KEY索引表。第二个是KEY对应的用户数据。

这样一折腾,性能那又和MYSQL的内存表又有何区别。起码MYSQL内存表有更成熟管理机制和操作方法。

2010-05-27 09:50:24