Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 存储每两小时更新一次的小型、交替的公共数据的最佳方法?_Java_Sql_Database - Fatal编程技术网

Java 存储每两小时更新一次的小型、交替的公共数据的最佳方法?

Java 存储每两小时更新一次的小型、交替的公共数据的最佳方法?,java,sql,database,Java,Sql,Database,我的问题的本质是有太多的解决方案,我希望在构建基础设施之前,先找出哪一个方案的利弊得失 (为了本论坛的目的而简化)这是一个拍卖网站,其中五个拍卖以1-5的排名存储,1是当前的特色拍卖。其他四个只是“在甲板上”。在几小时后或拍卖结束后,2-5上升到1-4,新的一个被选为5 我使用的是一个专用服务器,我一直在考虑将数据存储在servlet中,或者在数据库中添加一列作为每次拍卖的布尔值……比如“isFeatured=1” 只需说数据的读取频率是写入频率的5倍以上就够了,这就是为什么我倾向于使用好的老S

我的问题的本质是有太多的解决方案,我希望在构建基础设施之前,先找出哪一个方案的利弊得失

(为了本论坛的目的而简化)这是一个拍卖网站,其中五个拍卖以1-5的排名存储,1是当前的特色拍卖。其他四个只是“在甲板上”。在几小时后或拍卖结束后,2-5上升到1-4,新的一个被选为5

我使用的是一个专用服务器,我一直在考虑将数据存储在servlet中,或者在数据库中添加一列作为每次拍卖的布尔值……比如“isFeatured=1”


只需说数据的读取频率是写入频率的5倍以上就够了,这就是为什么我倾向于使用好的老SQL。

您想要什么样的规模?有多少应用服务器需要访问数据

我想你可能把事情弄得更复杂了。只需使用一个数据库,点击一下,然后转到您需要处理的任何其他内容即可你看了吗?它允许使用“良好的旧SQL”,而无需设置单独的数据库服务器。只要数据不是太大(公平地说,我没有测试大小限制,但我浏览了一些提到使用SQLite快速处理几十MB大小的文件且没有问题的博客条目),您就可以了


它不是满足所有需求的完美解决方案(坦率地说,我有时会觉得很痛苦),但由于它依赖于本地存储的文件,读取速度将远快于启动网络连接与更“传统”的RDBMS。

当您可以通过使用
ORDER BY
TOP
或类似工具从DB检索相关拍卖时,请尝试此操作。如果没有出现性能问题,那么您就完成了


否则,当这5次拍卖在一段时间内有效时,请将它们缓存在内存中。例如,让单身人士持有这些拍卖,并提供更新方法。也许您想使用缓存库。必要时更新这些Top5,但直接从内存中为它们提供服务,而无需使用DB或类似的昂贵设备。

您不应该删除第一个,然后插入一个新的吗?对于检索,只需根据创建日期对记录进行排序即可。通过这样做,您不需要更新记录上的排名列。谢谢,Stefan。可以说,我是一名前端开发人员,被要求做后端工作。不知道什么是应用服务器,也不知道有多少人会访问它,但它的构建应该是非常可伸缩的。不管怎样,是的,也许我只是把这件事弄得太复杂了。是的,数据并不是太大。我想我会使用纯MySQL,因为这里已经在使用它了。谢谢