是否有标准的第三方Python缓存类?

2024-06-07 14:03:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个客户端类,它需要从网络数据库加载数据。有人建议向客户机添加标准缓存服务可以提高其性能。在

我非常希望不必构建自己的缓存类—众所周知,这些类提供了常见的失败点。与其花大量时间调试自制的缓存系统,不如使用别人开发的类。在

Java开发人员有以下特点: http://ehcache.sourceforge.net/

它是一个通用的高性能缓存类,可以支持各种存储。它有基于时间的过期选项和其他垃圾收集方法。看起来真的很好。不幸的是,我找不到任何对Python有用的东西。在

所以,有人能推荐一个缓存类供我使用吗。我的愿望是:

  • 能够限制缓存中的对象数。在
  • 能够限制缓存中对象的最大使用期限。在
  • LRU对象过期
  • 能够选择多种存储形式(如内存、磁盘)
  • 调试良好,维护良好,至少有一个著名的应用程序在使用。在
  • 表现不错。在

有什么建议吗?在

更新:我正在寻找对象的本地缓存。我连接的服务器已经被大量缓存。Memcached不合适,因为它需要在Windows客户端和服务器之间增加一个网络流量。在


Tags: 数据对象网络数据库http客户端标准客户机
1条回答
网友
1楼 · 发布于 2024-06-07 14:03:32

我建议使用memcached并使用cmemcache来访问它。您不必限制缓存中对象的数量,但可以设置过期时间并限制它使用的内存量。而且memcached被很多大牌使用。事实上,我称之为行业标准。在

更新

I'm looking for LOCAL caching of objects.

您可以在本地运行memcached并通过localhost访问它。我已经做过几次了。在

除此之外,我能想到的唯一解决方案是django's caching system。它提供了几个后端和一些其他配置选项。但如果你不使用django,这可能有点重。在

更新2:我想作为最后的手段,您还可以使用jython并访问java缓存系统。但是,如果已经有客户使用CPython,这可能有点困难。在

更新3:对你有用可能有点晚了,但是我以前的一个雇主用ZODB来做这种事情。它是一个实际的数据库,但它的读取性能足够快,足以使其用于缓存。在

相关问题 更多 >

    热门问题