python本地缓存cacheout

简介: python本地缓存cacheout

   cacheout地址: https://github.com/dgilland/cacheout

   文档地址:https://cacheout.readthedocs.io

简单使用介绍

安装

pip install cacheout

使用

import time
 
from cacheout import Cache
 
#  默认的缓存(maxsize)大小为256,默认存活时间(ttl=0)是关闭的 ,但是是秒 如ttl=120 表示120秒 ,  default=None获取不存在的缓存,返回None:
cache = Cache(maxsize=256, ttl=0, timer=time.time, default=None)
 
# 设置缓存
key = 1
value = 'test'
cache.set(key, value)
 
# 查看缓存
key = 1
value = cache.get(key)
 
# 删除
cache.set(1, 'test')
cache.delete(1)
 
# 清除全出缓存
cache.clear()
 
# 批量设置
cache.set_many({1: 'test1', 2: 'test2', 3: 'test3'})
# 批量获取
cache.get_many([1, 2, 3])
# 批量删除
cache.delete_many([1, 2, 3])
 
# 循环缓存数据
cache.set_many({1: 'test1', 2: 'test2', 3: 'test3'})
for key, value in cache.items():
    print(str(key) + ':' + value)
for key in cache.keys():
    print(key)
for value in cache.values():
    print(value)
 
 

 cacheout能够对cache进行统一管理

cache_config = {
    'AA': {'maxsize': 256, 'ttl': 0, 'timer': time.time, 'default': None}
}
cacheout_manager = CacheManager(cache_config)
 
# 系统配置缓存
engine_attribute_cache = cacheout_manager['AA']
engine_attribute_cache.set('a', 'test')


相关文章
|
7月前
|
缓存 数据库 索引
如何优化Python Web应用的性能,包括静态资源加载、缓存策略等?
```markdown 提升Python Web应用性能的关键点:压缩合并静态资源,使用CDN,设置缓存头;应用和HTTP缓存,ETag配合If-None-Match;优化数据库索引和查询,利用数据库缓存;性能分析优化代码,避免冗余计算,使用异步处理;选择合适Web服务器并调整参数;部署负载均衡器进行横向扩展。每一步都影响整体性能,需按需调整。 ```
63 4
|
7月前
|
缓存 Python
给我一些具体的例子,说明如何在Python中使用缓存和释放来避免内存溢出。
给我一些具体的例子,说明如何在Python中使用缓存和释放来避免内存溢出。
42 0
|
7月前
|
存储 缓存 NoSQL
在Python Web开发过程中:数据库与缓存,Redis在Web开发中的常见应用场景有哪些?
Redis在Python Web开发中常用于缓存、会话管理、分布式锁、排行榜、消息队列和实时分析。作为内存数据存储,它提供高效的数据结构(如字符串、哈希、列表、集合、有序集合),支持会话存储、互斥操作、计数与排名、队列实现及实时数据处理。其高速性能和丰富功能使其成为多场景下的理想选择。
77 5
|
7月前
|
缓存 NoSQL Redis
Python缓存技术(Memcached、Redis)面试题解析
【4月更文挑战第18天】本文探讨了Python面试中关于Memcached和Redis的常见问题,包括两者的基础概念、特性对比、客户端使用、缓存策略及应用场景。同时,文章指出了易错点,如数据不一致和缓存淘汰策略,并提供了实战代码示例,帮助读者掌握这两款内存键值存储系统的使用和优化技巧。通过理解其核心特性和避免常见错误,可以提升在面试中的表现。
109 2
|
3月前
|
缓存 Java Python
python垃圾回收&缓存机制
python垃圾回收&缓存机制
|
5月前
|
缓存 Python
在Python中,`functools`模块提供了一个非常有用的装饰器`lru_cache()`,它实现了最近最少使用(Least Recently Used, LRU)缓存策略。
在Python中,`functools`模块提供了一个非常有用的装饰器`lru_cache()`,它实现了最近最少使用(Least Recently Used, LRU)缓存策略。
|
4月前
|
缓存 Python
Python中更好用的函数运算缓存
Python中更好用的函数运算缓存
|
4月前
|
缓存 NoSQL 网络安全
【Azure Redis 缓存】 Python连接Azure Redis, 使用redis.ConnectionPool 出现 "ConnectionResetError: [Errno 104] Connection reset by peer"
【Azure Redis 缓存】 Python连接Azure Redis, 使用redis.ConnectionPool 出现 "ConnectionResetError: [Errno 104] Connection reset by peer"
|
4月前
|
缓存 监控 NoSQL
【Azure Redis 缓存】使用Python代码获取Azure Redis的监控指标值 (含Powershell脚本方式)
【Azure Redis 缓存】使用Python代码获取Azure Redis的监控指标值 (含Powershell脚本方式)
|
4月前
|
存储 缓存 算法
Python 从零开始实现一个简单的LRU缓存
Python 从零开始实现一个简单的LRU缓存
47 0