未知

thecache的Python项目详细描述


这是一个简单的基于文件的缓存实现,用于 简单的情况下,你想缓存一些数据(也许你想 避免用重复的请求重击api服务器),但是 希望功能和关联的配置任务与 更多功能丰富的缓存模块。

##用法

给自己找个缓存:

>>> from thecache.cache import Cache
>>> mycache = Cache(__name__)

对少量数据使用缓存(以节省内存 操作,请阅读下面更详细的说明:

>>> mycache.put('some key', 'a chunk of data')
>>> if mycache.has('some key'):
...   print 'Content:', mycache.get('some key')
... else:
...   print 'Key "some key" was not in cache'
...
Content: a chunk of data

或:

>>> try:
...   print 'Content:', mycache.get('some key')
... except KeyError:
...   print 'Key "some key" was not in cache'
...
Content: a chunk of data

##存储数据

  • store(也是put

    这将把python变量的内容写入缓存。

  • store_fd

    这将从打开的文件中读取chunksize字节块和 将数据写入缓存。

  • store_iter

    这将遍历content,将每个数据块写入 隐藏物。这是处理来自 requests流媒体模式下的库:

    >>> import requests
    >>> r = requests.get(url, stream=True)
    >>> c.store_iter(url, r.iter_content(chunk_size=8192))
    
  • store_lines

    这几乎与store_iter完全一样,只是它附加了一个 在写入每个数据块后换行。这对 使用 load_lines方法:

    >>> mydata = ['one', 'two', 'three', 'four']
    >>> c.store_lines('mykey', mydata)
    

##读取数据

如果您请求密钥,则以下所有函数都会引发KeyError 在缓存中找不到的。

  • load(也是get

    这将从缓存中读取数据并返回数据 给打电话的人。

  • load_lines

    这将在缓存中存储的行上返回一个迭代器。这个 当所有行都有 已被阅读。

  • load_iter

    这将返回一个迭代器,该迭代器生成的数据以chunksize字节为单位 大块的。当 数据已被读取。

  • load_fd

    这将向调用方返回一个打开的文件。是来电者的工作 在不再需要时关闭文件。

##贡献

要报告此代码的问题,请使用[问题跟踪程序][]。 更改可以作为github请求提交。

[问题跟踪者]:https://github.com/larsks/thecache/issues

##许可证

缓存,一个简单的python缓存实现 版权所有(c)2016 lars kellogg stedman<;lars@oddbit.com>;

此程序是免费软件:您可以重新分发和/或修改 根据由 自由软件基金会,或者许可证的第3版,或者 (由您选择)任何更高版本。

这个程序的发布是希望它能有用, 但没有任何保证;甚至没有 适销性或适合某一特定目的的适销性。见 GNU通用公共许可证了解更多详细信息。

你应该收到GNU通用公共许可证的副本 还有这个节目。如果没有,请参见<;http://www.gnu.org/licenses/>;。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Camera API如何聚焦图像中多边形的中心?   来自Java的spring Filling邮戳模板   java只能编织本地JAR的方面吗?   javajavax。加密。BadPaddingException:解密错误无法解密加密的公钥   从java运行ansibleplaybook   在Java中,如何从不同的偏移量读取大块的字符串文件?   java Android GridView将无法确定正确的位置   executorservice如何使用自动线程管理在Java中实现生产者/消费者   JavaEJB3.1嵌入式API单元测试EJB+JPA实体   API的java输出自动停止   java Checkmarx缺陷解决方案   java缓存,获取最早的元素   WebSphere8中的JavaEJB问题   两个时区之间的java Jodatime时差   Java 8不兼容类型错误   java TableCellEditor:如果按下该键,则清除原始文本;如果没有输入,则保留值