Cache data which access frequently
Project description
k3cacheable
Cache data which access frequently.
k3cacheable is a component of pykit3 project: a python3 toolkit set.
Cache data which access frequently.
Install
pip install k3cacheable
Synopsis
import k3cacheable
import time
# create a `LRU`, capacity:10 timeout:60
c = k3cacheable.LRU(10, 60)
# set value like the `dict`
c['key'] = 'val'
# get value like the `dict`
# if item timeout, delete it and raise `KeyError`
# if item not exist, raise `KeyError`
try:
val = c['key']
except KeyError:
print('key error')
cache_data = {
'key1': 'val_1',
'key2': 'val_2',
}
# define the function with a decorator
@k3cacheable.cache('cache_name', capacity=100, timeout=60,
is_deepcopy=False, mutex_update=False)
def get_data(param):
return cache_data.get(param, '')
# call `get_data`, if item has not been cached, cache the return value
data = get_data('key1')
# call `get_data` use the same param, data will be got from cache
time.sleep(1)
data = get_data('key1')
# if item timeout, when call `get_data`, cache again
time.sleep(1)
data = get_data('key1')
# define a method with a decorator
class MethodCache(object):
@k3cacheable.cache('method_cache_name', capacity=100, timeout=60,
is_deepcopy=False, mutex_update=False)
def get_data(self, param):
return cache_data.get(param, '')
mm = MethodCache()
data = mm.get_data('key2')
Author
Zhang Yanpo (张炎泼) drdr.xp@gmail.com
Copyright and License
The MIT License (MIT)
Copyright (c) 2015 Zhang Yanpo (张炎泼) drdr.xp@gmail.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
k3cacheable-0.1.1.tar.gz
(7.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file k3cacheable-0.1.1.tar.gz.
File metadata
- Download URL: k3cacheable-0.1.1.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c58c4d053c872caac521821127e0dfe3c5e0f0f5fac064f08551353e076e61b8
|
|
| MD5 |
588565ef138d62c6b9dfc79d5d5f4316
|
|
| BLAKE2b-256 |
d80dec09982131892d754d47f2ed8a32c2e3f27a8f6eff3be5226ee7e5d2f12a
|
File details
Details for the file k3cacheable-0.1.1-py3-none-any.whl.
File metadata
- Download URL: k3cacheable-0.1.1-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa87d820a5cf14c6c8a7e3c488a48e147c093b024ad297c71a5c89f4ad12630a
|
|
| MD5 |
ae454df7d75879db22e127d73f0b4c33
|
|
| BLAKE2b-256 |
49a52b36476095e2e60f53b4731cfaba6b12221981b8864440524c7c47c392f4
|