缓存计数器(memcached)

根据一个字符串生成一个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
    原文作者:wasw100
    原文地址: https://www.jianshu.com/p/759a16d23b95
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞