2013-04-15 126 views
2

这可能太超级笨了。拍摄我,但我昨天在一个奇怪的心情,并想到以下内容:在会话中存储持久数据

如果我通过使用会话以持久方式存储webapp数据该怎么办。所以我用散列存储一个sessioncookie,再长一点,所以它不是暴躁的。然后将所有存储的数据保存在会话中。我也设置会话时间无限...

会有任何用途吗? :D

+0

这些数据不需要在服务器重启时保留吗? –

+0

可能是?它不必在服务器重启时被删除,是吗?我不知道,这只是一个我看不到它的用处的脑袋。我只是想知道。 :P – baklap

回答

2

不是。大多数会话状态实现将会话保存在内存中。在应用程序重新启动(或硬件故障等)时,内存被清除并且会话缓存丢失。

如果您将会话存储在数据库中而不是in-proc中,您可以这样做,但根据所使用的平台可能有点麻烦。它也比较慢。

一般来说,你不想让会话非常大,因为如果他们在进程内会话,你会快速地吃掉你的服务器内存。即使你使用数据库方法进行会话,这仍然经常完成,但是会话使用内存临时表,因此会占用数据库服务器的内存。

会话对于应用程序功能应该是轻量级且非必需的。对于必须坚持的任何重要内容,请将其保存在数据库中。