【问题标题】:How to cache data in server using files如何使用文件在服务器中缓存数据
【发布时间】:2013-07-22 00:03:14
【问题描述】:

我正在编写一个应用程序,我需要在数据库中存储大量数据并对其进行缓存。当客户端请求到来时,服务器需要从缓存中获取数据并返回。

这是怎么做的: (离线处理) 1. 我们有一个 spring 批处理应用程序,它获取 json 文件(大小约为 6MB)。 2.读取每个对象并将其存储在数据库中。 3. DB 中存储了大约 17K 条记录。

(在线流程) 4. 当请求到达服务器时(web 应用程序 - Spring web MVC),应用程序从数据库中获取数据并返回响应。

我打算在这里避免使用数据库存储。除了使用数据库,我可以在文件服务器中添加文件并在服务器启动时缓存文件中存在的数据吗?

如果有任何现有的方法,请告诉我。

【问题讨论】:

    标签: java caching spring-mvc


    【解决方案1】:

    缓存不会替代持久性。您可以将数据存储在文件系统而不是数据库中,但首先拥有数据库的全部意义在于,由于数据和索引的结构更好,数据库中的数据存储和检索比普通文件系统快得多(以及易于查询以获取数据的巨大优势)。您始终可以将数据以大文件格式转储到数据库中(不推荐)

    对于缓存,您可以使用 memcached 或 redis。请注意,缓存并非 100% 可靠。您可以配置缓存以指定清除缓存的时间。每当您在数据库中创建/更新某些数据时,您还需要不断更新缓存数据。如果您的缓存已满,通常最少使用的资源将首先从缓存中清除以容纳新数据。

    对您来说理想的解决方案是使用具有缓存层(如 memcache)的可扩展(读取非关系)数据库。附带说明一下,将 memcache 与 spring 一起使用非常容易(我还没有在应用程序中使用过 redis)。既然你提到了 json 数据格式,请看mongodb 的持久性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-01
      • 2021-08-07
      • 2016-07-01
      • 2021-01-03
      • 1970-01-01
      • 2016-07-08
      • 2018-11-07
      • 2021-02-19
      相关资源
      最近更新 更多