博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python进程缓存
阅读量:7015 次
发布时间:2019-06-28

本文共 1323 字,大约阅读时间需要 4 分钟。

  hot3.png

在web.py, bottle这些微型框架中, 缓存数据这块是没有的, 但是又不想安装插件, 那就只有自己实现了

下面的是类似一个全局变量, 可以把数据保存在单例对象中

 

# coding: utf-8import timeclass SimpleCache(dict):    '''        cache = SimpleCache.getInstance()        cache.get('key')        cache.set('key', 'value')    '''    def __new__(cls, *args):        if not hasattr(cls, '_instance'):            cls._instance = dict.__new__(cls)        else:            raise Exception('SimpleCache already initialized')        return cls._instance    @classmethod    def getInstance(cls):        if not hasattr(cls, '_instance'):            cls._instance = dict.__new__(cls)        return cls._instance    def get(self, name, default=None):        if not name: return default        levels = name.split('.')        data = self        for level in levels:            try:                data = data[level]            except:                return default        return data    def set(self, name, value):        levels = name.split('.')        arr = self                for name in levels[:-1]:            if not arr.has_key(name):                arr[name] = {}            arr = arr[name]        arr[levels[-1]] = value    def getset(self, name, value):        g = self.get(name)        if not g:            g = value            self.set(name, g)        return g

 

转载于:https://my.oschina.net/yehun/blog/870908

你可能感兴趣的文章
判断URL文件是不是在于在。
查看>>
GNU C中的零长度数组(转载)
查看>>
SQL2005中时,Diagrams的问题
查看>>
[转]软件架构的一致性
查看>>
拨云见日,任重道远 ——第六届云计算大会感悟
查看>>
PID控制器的应用:控制网络爬虫抓取速度
查看>>
cad中关于点样式点的绘制
查看>>
学习计划--20160424
查看>>
CentOS VMware 下SSH配置方法详解
查看>>
PHP错误级别 error_reporting() 函数详解
查看>>
jdk环境变量配置
查看>>
为网卡配置多个IP地址(windows)
查看>>
句柄的理解
查看>>
手机网络连接问题
查看>>
Go -- runtime.Gosched()的作用分析
查看>>
Java Lambda 表达式 对 Map 对象排序
查看>>
WIndows 使用VS编译 Lua5
查看>>
转 VB ListView控件各种操作详解
查看>>
查看name的状态,是属于active还是standby
查看>>
<LeetCode OJ> 337. House Robber III
查看>>