{ "info": { "author": "Beginman", "author_email": "xinxinyu2011@163.com", "bugtrack_url": null, "classifiers": [], "description": "Simple cache based on the redis and cPickle for Python.\r\n\r\n# Installation:\r\n\r\n pip install ptcache\r\n\r\n# Usage:\r\n\r\n## as a decorator for function\r\n\r\n### use redis\r\n\r\n```python\r\nfrom ptcache import RedisCache, Cache\r\n\r\ncache = Cache(RedisCache(password='***'))\r\n\r\n\r\n@cache.cached(60*10)\r\ndef test(a, b, name='age'):\r\n return {\"sum\": a+b, \"name\": name}\r\n\r\n\r\n@cache.uncache(test, kwarg_names=['name'])\r\ndef update_test(a, b, name=\"age\"):\r\n return {\"sum\": a*b, \"name\": name}\r\n\r\n\r\n# computed and stored on cache\r\ntest(1, 2)\r\n\r\n# update and remove cache for function test\r\nupdate_test(1, 2)\r\n\r\n# remove cache manually\r\ncache.remove_cache(test, 1, 2)\r\ncache.remove_cache(test, 1, 2, name=\"age\")\r\n\r\n```\r\n\r\n### use python object\r\n\r\n```python\r\nfrom ptcache import SimpleCache, Cache\r\nimport json\r\n\r\ncache = Cache(SimpleCache(pickle=json)) # use json, default is cPickle\r\n\r\n\r\n@cache.cached(60*10)\r\ndef test(a, b, name='age'):\r\n return {\"sum\": a+b, \"name\": name}\r\n\r\n\r\n@cache.uncache(test, kwarg_names=['name'])\r\ndef update_test(a, b, name=\"age\"):\r\n return {\"sum\": a*b, \"name\": name}\r\n\r\n\r\nprint(test(1, 2))\r\nprint(test(1, 2))\r\n```\r\n\r\n## as object\r\n\r\n```python\r\nfrom ptcache import RedisCache, SimpleCache\r\n\r\n# use redis\r\ncache = RedisCache(password='***')\r\n\r\ncache.set('aaa', {'name':'fang', 'age':10, 'money': 12.03}, 60)\r\nprint(cache.exists('aaa'))\r\nprint(cache.get('aaa'))\r\nprint(cache.ttl('aaa'))\r\n\r\ncache.delete('aaa')\r\n\r\nprint('*' * 10)\r\n\r\n# use SimpleCache\r\ncache = SimpleCache(timeout=20, threshold=5)\r\nfor x in range(6):\r\n cache.set(x, x)\r\n\r\nprint(cache.count())\r\n\r\nfor x in range(6):\r\n print(cache.exists(x))\r\n print(cache.ttl(x))\r\n print(cache.get(x))\r\n cache.delete(x)\r\n print('\\n')\r\n\r\n```\r\n\r\nChangelog\r\n=========\r\n\r\n1.0.0\r\n-----\r\n\r\nHighlights:\r\n\r\n* Init", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/BeginMan/ptcache", "keywords": "cache", "license": "MIT", "maintainer": "Beginman", "maintainer_email": "xinxinyu2011@163.com", "name": "ptcache", "package_url": "https://pypi.org/project/ptcache/", "platform": "any", "project_url": "https://pypi.org/project/ptcache/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/BeginMan/ptcache" }, "release_url": "https://pypi.org/project/ptcache/1.0.0/", "requires_dist": null, "requires_python": null, "summary": "Simple and extensible cache for python.", "version": "1.0.0" }, "last_serial": 2301820, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "c8134ab20a1b5594bfaf93e204e2cc74", "sha256": "4ffcc7ac58530dd8373391003502fac61fba77772b51bf0764fc83b1ffd0f43b" }, "downloads": -1, "filename": "ptcache-1.0.0.tar.gz", "has_sig": false, "md5_digest": "c8134ab20a1b5594bfaf93e204e2cc74", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4129, "upload_time": "2016-08-25T05:44:52", "url": "https://files.pythonhosted.org/packages/9f/30/7f1a65089561964952344e3d28467ece10803f32268e31c8ad908f3cabac/ptcache-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c8134ab20a1b5594bfaf93e204e2cc74", "sha256": "4ffcc7ac58530dd8373391003502fac61fba77772b51bf0764fc83b1ffd0f43b" }, "downloads": -1, "filename": "ptcache-1.0.0.tar.gz", "has_sig": false, "md5_digest": "c8134ab20a1b5594bfaf93e204e2cc74", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4129, "upload_time": "2016-08-25T05:44:52", "url": "https://files.pythonhosted.org/packages/9f/30/7f1a65089561964952344e3d28467ece10803f32268e31c8ad908f3cabac/ptcache-1.0.0.tar.gz" } ] }