根据一个字符串生成一个hash后的key
def make_cache_key(origin):
"""讲一个比较长的字符串, hash后作为缓存的key"""
md5_digest = hashlib.md5(origin.encode('utf-8')).digest()
cache_key = base64.b64encode(md5_digest)[:16]
return cache_key.decode('utf-8')
缓存计数器, 超时清零重新计算, 不是最近一个周期时间的技术, 使用场景比较单一
这个cache对象是flask-cache中的缓存对象
如果缓存使用的python-memcached, 如果key不存在, 返回None, 如果使用的pylibmc, 可能抛出NotFound异常
def get_cache_count(key, timeout=5):
"""cache 计数器"""
result = cache.cache.inc(key)
if result is None:
cache.set(key, 1, timeout)
result = 1
return result