该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-06-25
Groovy 写道 这些对象要长期在系统内存中而不释放
刚想起一个问题 你做的是什么样的系统? 这些信息放在内存中的话,就意味着你的应用程序没办法集群 但愿不是多人使用的服务器端程序 |
|
返回顶楼 | |
发表时间:2007-06-26
gigix 写道 Groovy 写道 这些对象要长期在系统内存中而不释放
刚想起一个问题 你做的是什么样的系统? 这些信息放在内存中的话,就意味着你的应用程序没办法集群 但愿不是多人使用的服务器端程序 确实是个服务器端的后台程序, 是给一个现有系统作后台数据统计功能, 老系统里面现在暂时不想加表了, 所以我只有把这些放在内存理 具体的做法是 在我的程序启动的时候把旧的数据按天统计一遍 然后用一个job schedule framework每天做一次统计, 把结果数据放在一个item里面, 需要的各种统计结果都利用这些items经过聚合,方差之类的操作得到 有更好的建议吗 |
|
返回顶楼 | |
发表时间:2007-06-26
用string作key是麻烦点,要是用连续的数字的话就好了,可以直接计算所引,而且数字连续,计算的索引也连续
string的话,你需要一个算法转成索引号,hashmap就是用hashcode取模作的索引号,肯定是不连续的,所以会有“空闲”的空间 |
|
返回顶楼 | |
发表时间:2007-06-26
Groovy 写道 gigix 写道 Groovy 写道 这些对象要长期在系统内存中而不释放
刚想起一个问题 你做的是什么样的系统? 这些信息放在内存中的话,就意味着你的应用程序没办法集群 但愿不是多人使用的服务器端程序 确实是个服务器端的后台程序, 是给一个现有系统作后台数据统计功能, 老系统里面现在暂时不想加表了, 所以我只有把这些放在内存理 具体的做法是 在我的程序启动的时候把旧的数据按天统计一遍 然后用一个job schedule framework每天做一次统计, 把结果数据放在一个item里面, 需要的各种统计结果都利用这些items经过聚合,方差之类的操作得到 有更好的建议吗 一个很简单的道理 如果把所有的数据都放在数据库里 一台机器的内存或者CPU不够用了,你只要再加一台机器,性能立即提升一倍 像你这样把大量数据放在内存里,如果性能有问题,你就只能在这一台机器上想办法 |
|
返回顶楼 | |
发表时间:2007-06-26
gigix 写道 Groovy 写道 这些对象要长期在系统内存中而不释放
刚想起一个问题 你做的是什么样的系统? 这些信息放在内存中的话,就意味着你的应用程序没办法集群 但愿不是多人使用的服务器端程序 cluster-level Cache |
|
返回顶楼 | |
发表时间:2007-06-26
gigix 写道 Groovy 写道 gigix 写道 Groovy 写道 这些对象要长期在系统内存中而不释放
刚想起一个问题 你做的是什么样的系统? 这些信息放在内存中的话,就意味着你的应用程序没办法集群 但愿不是多人使用的服务器端程序 确实是个服务器端的后台程序, 是给一个现有系统作后台数据统计功能, 老系统里面现在暂时不想加表了, 所以我只有把这些放在内存理 具体的做法是 在我的程序启动的时候把旧的数据按天统计一遍 然后用一个job schedule framework每天做一次统计, 把结果数据放在一个item里面, 需要的各种统计结果都利用这些items经过聚合,方差之类的操作得到 有更好的建议吗 一个很简单的道理 如果把所有的数据都放在数据库里 一台机器的内存或者CPU不够用了,你只要再加一台机器,性能立即提升一倍 像你这样把大量数据放在内存里,如果性能有问题,你就只能在这一台机器上想办法 分布数据 性能和资源不是简单的比例关系。 特别像lz这种需求是要求数据读写锁,有一定数据一致性要求的情况。 |
|
返回顶楼 | |