【问题标题】:Is there is a software caching API out there?那里有软件缓存 API 吗?
【发布时间】:2009-01-11 18:07:04
【问题描述】:

我正在寻找能够缓存文件或数据库中的数据的API 或应用程序。 我的想法是我有一个读取数据库的应用程序,但是对数据库的访问是顺序的,并且是在磁盘上。

我基本上想要做的是先从缓存中获取数据,然后如果缓存中不存在,则访问数据库。注意我用的不是主流数据库,我用的是SQLite,但是对性能要求很高。

那么有没有我可以用于此目的的产品或 API(免费或商业)?我还必须有一个 API 来与我的缓存交互。

我想实现诸如网络服务器缓存之类的东西。

我正在使用 C 和 Unix 平台。

谢谢

【问题讨论】:

  • 请适当地标记您的问题(参见我的编辑),这样有兴趣的人更容易找到您的问题。

标签: c unix sqlite caching


【解决方案1】:

您可能想考虑使用共享内存缓存,例如memcached,尽管这需要单独的守护进程,或者为自己滚动类似的东西。

我要提到的一件事是,您可能应该做一些实际的基准测试来检查您的数据库是否是您的瓶颈,如果性能是一个真正的问题,那么您将不得不考虑扩大到非- 嵌入式 DBMS。如果这不是一个选项,那么您仍然可以优化现有的数据库访问(查询优化、索引等)。

【讨论】:

  • 没错。在优化之前对其进行分析。为此 +1。
【解决方案2】:

查看memcached。 Brian Aker 为它写了一个C library

但我也赞同 Rob 的建议。 SQLite 和“性能要求非常高”可能不一定要同时使用,具体取决于您所指的性能方面。

【讨论】:

    【解决方案3】:

    你可以试试 Zola 的 CaLi 库: http://icis.pcz.pl/~zola/CaLi/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-29
      • 2011-05-28
      • 2010-11-29
      • 1970-01-01
      • 2010-09-26
      • 2011-06-23
      • 1970-01-01
      相关资源
      最近更新 更多