java - 如何从互联网上的某些资源中读取信息并将其保存在数据库中

标签 java database

我是 Java 开发和 Android 新手。我需要实现货币转换器的功能。 我需要知道如何从互联网获取信息(并定期更新)并将其保存在数据库中。

最佳答案

要制作货币转换器,您需要实时获取兑换率。这些是在您的客户端中实现此目的的一些方法 -

1)对api进行ajax调用(找到一些第三方服务来实时获取转化率,像这样 - How do I get currency exchange rates via an API such as Google Finance? )或者使用类似 - ( Web scraping with Java - 这需要你写你的自己的后端负责进行谷歌搜索并检索汇率)

2)每当最终用户执行转换时,请调用步骤 1 中决定的 api,并使用更新的汇率来计算并提供结果 - 我想说,不要坚持保留值在数据库中,由于外汇市场始终“活跃”,这意味着它永远不会关闭,即使在晚上,因此汇率总是在变化。( https://www.purefx.co.uk/foreign-currency-exchange-insight/view/do-exchange-rates-change-daily )

3) 您可以将结果保存在缓存中,并在某些时间段使用 cron 作业更新缓存(如果您正在用 java 编写后端,则可以使用 Executorservice),但在这种情况下,速率可能不是最新的和任何令人满意的“实时”值意味着即使没有用户主动使用客户端,服务器端的 api 调用也会非常嘈杂。您可能需要在资源使用量和准确转换之间进行权衡,并定期更新服务器端缓存1小时的说法)

4) 如果最终用户只想检查汇率,也可以使用相同的 API 来获取当前汇率

5)如果您确实想将值保存在数据库中,您可以使用键值类型的数据库,例如 Redis ( https://redis.io/topics/client-side-caching )

希望这有帮助。

关于java - 如何从互联网上的某些资源中读取信息并将其保存在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58815576/

相关文章:

java - 在数据库的单列中存储各种对象类型

iOS - 将视频上传到数据库然后将它们显示在列表中?

java - 在 Android 中保存之前保留数据

mysql - 提交时会发生死锁吗?

java - Optional 的 `orElse` 惰性评估失败导致性能下降

java - Android 中 Django 的 JSON 响应

java - Java Web Start 小程序/应用程序中的 InvocationTargetException

java - 为什么在 while 循环中使用 foreach 循环会出错?

java - 如何通过_id查询mongodb?

java - 同步单例类的多个静态变量