加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 22:26:13 所属栏目:Python 来源:网络整理
导读:我正在研究一个需要从网络数据库加载数据的客户端类.有人建议,向客户端添加标准缓存服务可以提高其性能. 我非常希望不必构建自己的缓存类 众所周知,这些提供了常见的失败点.使用其他人开发的类而不是花费大量时间来调试自制的缓存系统会好得多. Java开发人员

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

我非常希望不必构建自己的缓存类 – 众所周知,这些提供了常见的失败点.使用其他人开发的类而不是花费大量时间来调试自制的缓存系统会好得多.

Java开发人员有这个:
http://ehcache.sourceforge.net/

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

那么,有人可以建议一个可供我使用的缓存类.我的愿望清单是:

>能够限制缓存中的对象数量.
>能够限制缓存中对象的最大年龄.
> LRU对象expirey
>能够选择多种形式的存储(例如内存,磁盘)
>经过良好调试,维护良好,至少由一个众所周知的应用程序使用.
>良好的表现.

那么,有什么建议吗?

更新:我正在寻找对象的LOCAL缓存.我连接的服务器已经被高度缓存. Memcached不合适,因为它需要Windows客户端和服务器之间的额外网络流量.

最佳答案
我建议使用memcached并使用cmemcache访问它.您不一定要限制缓存中的对象数,但可以设置到期时间并限制它使用的内存量. memcached被很多大牌使用.事实上,我称之为行业标准.

更新:

I’m looking for LOCAL caching of objects.

您可以在本地运行memcached并通过localhost访问它.我做过几次这样的事.

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

更新2:我想作为最后的手段,你也可以使用jython并访问java缓存系统.如果你已经让客户使用CPython,这可能有点难.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读