读书人

请问一个数据在内存中的存储有关问题

发布时间: 2013-03-06 16:20:31 作者: rapoo

请教一个数据在内存中的存储问题 多谢
有一个应用户是根据IP做限制,比如:一个页面同一IP在一定时间内只能访问一次,我把IP信息信息保存在HashTable中,但是随着访问量的增加HashTable占的内存太多了,帮忙提个建议,怎么在内存中保存这个信息会省点内存呢,多谢
[解决办法]
不会
但感觉可以存到数据苦里
[解决办法]
使用字典树来压缩存储。
[解决办法]
我觉得果断存数据库啊
[解决办法]
1. hashtable 本来就是一个散列函数,使用的空间大于实际空间,比较占内存。
2.ip地址如果用string保存会比较占内存,你可以写一个struct,里面用4个byte表示,这样能省不少空间。
最好用数据库保存。
[解决办法]
清一次就找不到比较的对象了,而且频率这么高 一天一次


这样背离需求感觉就好了。

数据跑的速度或许比你想象中的快


引用:
引用:1. hashtable 本来就是一个散列函数,使用的空间大于实际空间,比较占内存。
2.ip地址如果用string保存会比较占内存,你可以写一个struct,里面用4个byte表示,这样能省不少空间。
最好用数据库保存。

保存在数据库里,每次都要从数据库里取,再判断,性能上感觉不好

[解决办法]
一个ip访问结束后要清除。。这样数据量就少了
[解决办法]
如果是IPv4可以转成uint,否则需要4个uint的struct。
内存不足应该使用优先队列,数据被淘汰并且在有效时间范围内的话导入数据库中。

读书人网 >asp.net

热点推荐