缓存计数器(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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、MemCache简介 session MemCache是一个自由、源码开放、高性能、分布式的分布式内存对象缓存...
    李伟铭MIng阅读 9,269评论 2 13
  • 理论总结 它要解决什么样的问题? 数据的访问、存取、计算太慢、太不稳定、太消耗资源,同时,这样的操作存在重复性。因...
    jiangmo阅读 8,048评论 0 11
  • 分布式缓存技术PK:选择Redis还是Memcached? 经平台同意授权转载 作者:田京昆(腾讯后台研发工程师)...
    meng_philip123阅读 69,002评论 7 60
  • 【转】缓存在分布式系统中的应用 缓存在分布式系统中的应用 摘要 缓存是分布式系统中的重要组件,主要解决高并发,大数...
    武汉苏乞儿阅读 4,324评论 0 10
  • 秋风拂拂的夜里 出走 逃奔进寒寂的萧瑟 生命 在这样的日子里 唯有自己温暖自己 找着自己的节奏 律动,暖流
    二月谨阅读 1,690评论 0 3