全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

在Python中使用AOP实现Redis缓存示例

越来越觉得的缓存是计算机科学里最NB的发明(没有之一),本文就来介绍了一下在Python中使用AOP实现Redis缓存示例,小伙伴们一起来了解一下

import redis 
enable=True 
#enable=False 
def readRedis(key): 
  if enable: 
    r = redis.Redis(host='10.224.38.31', port=8690,db=0, password='xxxx')   
    val = r.get(key) 
    if val is None: 
      print "can not find data for KEY:%s \n" % (key) 
      return None 
    else: 
      print "====Get VALUE from Redis by KEY:%s \n" % ( key) 
      return pickle.loads(val) 
  else: 
    print "disable cache" 
   
def writeRedis(key, val): 
  r = redis.Redis(host='10.224.38.31', port=8690,db=0, password='xxxx') 
  if val is None: 
    print "Val is None, don't save it to redis \n" 
  else: 
    r.set(key, pickle.dumps(val) ) 
    r.expire(key, 60*60*24*7) #1week 
    print "====Write value of KEY:%s to redis \n" % (key) 
   
import pickle, functools 
def cache(f): 
 def wrapper(*args, **kwargs): 
  key = pickle.dumps((f.__name__, args, kwargs)).replace("\n","") 
  val = readRedis(key) 
  if val is None: 
   val = f(*args, **kwargs) # call the wrapped function, save in cache 
   writeRedis(key, val) 
  return val # read value from cache 
 functools.update_wrapper(wrapper, f) # update wrapper's metadata 
 return wrapper  
 
@cache 
def foo(n): 
 return n*2 
 
foo(10) # first call with parameter 10, sleeps 
foo(10) # returns immediately 
foo(15) # returns immediately 
foo(19) # returns immediately 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Python实现Redis缓存  # Python  # Redis缓存  # Python实现缓存  # 浅析python实现布隆过滤器及Redis中的缓存穿透原理  # Python的Flask框架使用Redis做数据缓存的配置方法  # Python 使用 Redis 作为缓存的操作方法  # 就来  # 大家多多  # 小伙伴们  # db  # password  # host  # port  # xxxx  # KEY  # return  # pickle  # data  # val  # print  # find 


相关文章: 建站主机解析:虚拟主机配置与服务器选择指南  制作国外网站的软件,国外有哪些比较优质的网站推荐?  如何快速搭建个人网站并优化SEO?  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  如何高效配置IIS服务器搭建网站?  如何选购建站域名与空间?自助平台全解析  如何在Golang中引入测试模块_Golang测试包导入与使用实践  网站设计制作公司地址,网站建设比较好的公司都有哪些?  如何用AWS免费套餐快速搭建高效网站?  建站之星在线客服如何快速接入解答?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  如何使用Golang安装API文档生成工具_快速生成接口文档  在线制作视频的网站有哪些,电脑如何制作视频短片?  高端建站三要素:定制模板、企业官网与响应式设计优化  网站按钮制作软件,如何实现网页中按钮的自动点击?  香港服务器如何优化才能显著提升网站加载速度?  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  h5网站制作工具有哪些,h5页面制作工具有哪些?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  网站制作需要会哪些技术,建立一个网站要花费多少?  Python路径拼接规范_跨平台处理说明【指导】  如何挑选优质建站一级代理提升网站排名?  手机网站制作与建设方案,手机网站如何建设?  青浦网站制作公司有哪些,苹果官网发货地是哪里?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  建站之星如何通过成品分离优化网站效率?  Bpmn 2.0的XML文件怎么画流程图  建站之星2.7模板快速切换与批量管理功能操作指南  如何高效利用200m空间完成建站?  如何用VPS主机快速搭建个人网站?  外汇网站制作流程,如何在工商银行网站上做外汇买卖?  定制建站方案优化指南:企业官网开发与建站费用解析  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  ,购物网站怎么盈利呢?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  c++ stringstream用法详解_c++字符串与数字转换利器  如何快速搭建高效WAP手机网站吸引移动用户?  简单实现Android验证码  视频网站制作教程,怎么样制作优酷网的小视频?  如何正确选择百度移动适配建站域名?  成都网站制作报价公司,成都工业用气开户费用?  建站VPS配置与SEO优化指南:关键词排名提升策略  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  宝塔建站无法访问?如何排查配置与端口问题?  已有域名如何免费搭建网站?  制作门户网站的参考文献在哪,小说网站怎么建立? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。