Session on Rails 3的大小太大了

时间:2013-10-24 03:48:31

标签: ruby-on-rails session

我想在Session中加载一个文本文件。

文件大小约为50KB~100KB。

当用户在我的页面中触发该功能时。它将创建会话。

我的服务器的RAM大约是8GB。并且最大用户大约是100

因为将在后台运行脚本以在LAN中收集IP和MAC。 该脚本继续将数据写入文本文件。 同时,网页将使用Ajax从文本文件中获取新数据并显示在页面上。

是否适合按会话实施以保持结果?还是有更好的方法来实现? 谢谢〜

Python脚本将在1~3分钟内收集局域网中的数据。(后台工作) 避免阻塞1~3分钟。我将使用Ajax获取文本文件中的数据(继续由Python脚本添加)并显示在页面上。 我的用户应该携带跨页信息。所以我想将数据存储在Session中。

00:02:D1:19:AA:50:  172.19.13.39
00:02:D1:13:E8:10:  172.19.12.40
00:02:D1:13:EB:06:  172.19.1.83
C8:9C:DC:6F:41:CD:  172.19.12.73
C8:9C:DC:A4:FC:07:  172.19.12.21
00:02:D1:19:9B:72:  172.19.13.130
00:02:D1:13:EB:04:  172.19.13.40
00:02:D1:15:E1:58:  172.19.12.37
00:02:D1:22:7A:4D:  172.19.11.84
00:02:D1:24:E7:0F:  172.19.1.79
00:FD:83:71:00:10:  172.19.11.45
00:02:D1:24:E7:0D:  172.19.1.77
00:02:D1:81:00:02:  172.19.11.58
00:02:D1:24:36:35:  172.19.11.226
00:02:D1:1E:18:CA:  172.19.12.45
00:02:D1:0D:C5:A8:  172.19.1.45
74:27:EA:29:80:3E:  172.19.12.62

1 个答案:

答案 0 :(得分:0)

为什么需要将其存储在浏览器中?难道你不能把你收集的东西发送到某个地方的数据存储区吗?

无论如何,假设您没有这样做,并且您给出的示例非常接近您实际看到的数据,那么您有很多冗余数据。您可以通过创建指向每个连续值的散列来保存IP空间,即I.E。

{172 => {19 => {13 => [39], 12 => [40, 73, 21], 1 => [83]}}} ......等。同样适用于MAC地址。但同样,你可以通过在会话以外的地方存储你需要的信息来简化这个问题。