Python 使用cherrypy将数据存储到缓存中

Python 使用cherrypy将数据存储到缓存中,python,cherrypy,Python,Cherrypy,我是python和cherrypy方面的新手。我想使用cherrypy将数据存储到缓存中 是否有任何简单而基本的put、get和delete示例 您可以使用一个简单的字典作为缓存。虽然你得自己处理。下面是一个关于如何使用MemoryCache的示例。运行此脚本时,页面http://127.0.0.1:8080/test_cache每10秒显示一次不同的内容MemoryCache.put存储每个类似请求的对象,这意味着不同的URI参数对应不同的“bin”。您可以在http://127.0.0.1:

我是python和cherrypy方面的新手。我想使用cherrypy将数据存储到缓存中


是否有任何简单而基本的put、get和delete示例

您可以使用一个简单的字典作为缓存。虽然你得自己处理。下面是一个关于如何使用
MemoryCache
的示例。运行此脚本时,页面
http://127.0.0.1:8080/test_cache
每10秒显示一次不同的内容
MemoryCache.put
存储每个类似请求的对象,这意味着不同的URI参数对应不同的“bin”。您可以在
http://127.0.0.1:8080/test_cache?foo=0
http://127.0.0.1:8080/test_cache?bar=42

import cherrypy
import datetime
import sys
from cherrypy.lib.caching import MemoryCache

cache = MemoryCache()
cache.delay = 10 # content auto-expires after 10 seconds

class Root(object):

    @cherrypy.expose
    def test_cache(self, *args, **kwargs):
        data = cache.get()
        if not data:
            obj = datetime.datetime.today()
            size = sys.getsizeof(obj)
            cache.put(obj, size)
            data = obj
        return 'obj: %s, id: %s' % (data, id(data))

cherrypy.quickstart(Root())

也许这会有帮助。不完全是样本,但应该指向正确的方向@你有样本代码吗?如何开始?我只想要一个简单的程序,可以实现get,put和clear方法。事实上我不知道该怎么开始。我已经通过上面的链接,但无法启动。对不起,我从来没有使用过cherrypy,所以我不熟悉他们的框架设置。不过,如果您使用的是django,我可以向您展示它是多么容易。我相信会有人来帮忙的。@electrometro如果你能和django分享一些例子,那就太好了。@electrometro为什么要删除你的答案?这也是一个很好的例子。我正在找。我还有一个问题。如何使用id从缓存中获取数据?数据是否存储在RAM中?缓存实际上发生在一个简单的字典中,所以是的:缓存在RAM中。如果重新启动cherrypy,缓存将被清除。我不太清楚你说的“通过id获取数据”是什么意思。此字典的键生成为
uri=cherrypy.url(qs=request.query\u string)
。如果您需要绕过MemoryCache的逻辑,可以通过
cache.store
直接访问此dict。为了进一步调查,我建议阅读以下来源: