首页 > 编程语言 >Python:diskcache实现基于文件的数据缓存

Python:diskcache实现基于文件的数据缓存

时间:2023-12-25 11:05:20浏览次数:39  
标签:缓存 name Python cache db Cache diskcache

diskcache是一个基于Sqlite文件的数据缓存

如果在不想使用redis作为缓存的情况下,可以使用diskcache替代,减少对redis的依赖

文档

安装

pip install diskcache

示例

from diskcache import Cache

# 指定文件夹
cache = Cache('./cache')

# 存
cache.set('name', 'tom')

# 取
print(cache.get('name'))

可以看到,目录下生成了3个文件

$ tree cache
cache
├── cache.db
├── cache.db-shm
└── cache.db-wal

设置过期时间

import time

from diskcache import Cache


# 指定文件夹
cache = Cache('./cache')

# 存,单位:秒s
cache.set('name', 'tom', expire=1)

# 取
time.sleep(2)
print(cache.get('name'))
# None

参考文章

标签:缓存,name,Python,cache,db,Cache,diskcache
From: https://blog.51cto.com/mouday/8964283

相关文章

  • 常用的10个Python装饰器
    装饰器(Decorators)是Python中一种强大而灵活的功能,用于修改或增强函数或类的行为。装饰器本质上是一个函数,它接受另一个函数或类作为参数,并返回一个新的函数或类。它们通常用于在不修改原始代码的情况下添加额外的功能或功能。装饰器的语法使用@符号,将装饰器应用于目标函数或类。下......
  • 深入理解Python http包:构建HTTP服务与客户端
    Python作为一门强大的编程语言,其标准库中包含了丰富的模块,用于应对各种编程需求。在网络编程领域,http是一个值得关注的包,尤其适用于开发HTTP服务器和客户端。本文将深入探讨http包的核心模块http.server和http.client,并通过示例来展示如何使用这些模块构建简单的HTTP服务及客户端交......
  • python 把包含uincode字符串变成中文
    1defget_info_by_pattern(text,pattern):2p=re.compile(pattern)3p_res=p.findall(text)4returnp_res56#把包含uincode字符串变成中文7defunicode_to_chinese(text):8pattern_unicode='u[0-9a-z]{4}'9p_res=get_i......
  • 记录一下python循环引用问题
    工作遇到了一个引用循环的问题,记录一下test.py:print('fffffff')importmain#导入main.pyprint('sdfdf')defaaa():print('aaaaaaaaaaa')main.py:print('-------------')fromtestimportaaa#试图从test.py导入aaa函数print('......
  • Python常用的魔术方法
    什么是魔术方法?在Python中,所有以双下划线__包起来的方法,统称为MagicMethod(魔术方法),它是一种的特殊方法,普通方法需要调用,而魔术方法不需要调用就可以自动执行。魔术方法在类或对象的某些事件出发后会自动执行,让类具有神奇的“魔力”。如果希望根据自己的程序定制自己特殊功能的类,那......
  • Python列表练习「私教期末冲刺」「哥伦比亚大学Python一对一辅导」
    你好,我是悦创。尾部有答案。以下是20个关于Python列表操作的编程题目,涵盖从基础到进阶的不同难度级别:合并两个列表创建两个列表并将它们合并为一个新列表。找出列表中的最大数给定一个数字列表,找出其中的最大值。列表元素去重移除列表中的重复元素,并返回一个仅包含唯一元素的......
  • 在Python中实现ESG(环境、社会、治理)因子的交易策略,我们可以使用pandas库来读取数据,并
    在Python中实现ESG(环境、社会、治理)因子的交易策略,我们可以使用pandas库来读取数据,并使用AlphaVantage提供的API来获取股票价格数据²。以下是一个简单的代码示例:importpandasaspdimportrequests#获取股票价格数据response=requests.get(alpha_vantage_url)data=res......
  • Python 爬虫,gk-design 网站作品信息采集爬虫源码!
    一个比较简单的爬虫源码,爬取gk-design网站作品信息,包括图片及文字内容信息,几乎没有限制,适合新人学习练手使用,文末附上源码供参考学习。小日子的网站随便爬,加大力度,使劲搞,适合Python爬虫新人练手使用和学习,如果你正在找练手网站,不妨尝试爬取下载数据。这里分享几个简单的数据整......
  • Python类的使用
    在Python中,类(Class)是用于创建对象(object)的蓝图。类提供了对象的属性(数据)和方法(操作数据的函数)的定义。使用类可以帮助你创建具有相同属性和方法的多个对象,这是面向对象编程(OOP)的一个核心概念。类的定义与使用定义一个类:类以class关键字开始,后跟类名和冒号:。类名通常使用大驼峰命......
  • mac zsh: command not found: python
    前言在mac上安装python后,会自动在.zprofile文件中,加入:#SettingPATHforPython3.12#Theoriginalversionissavedin.zprofile.pysavePATH="/Library/Frameworks/Python.framework/Versions/3.12/bin:${PATH}"exportPATH此时,python-V,还是会报错zsh:comman......