Redis 缓存失效策略及其应用场景
import redis
# 连接Redis
r = redis.Redis(host='localhost', port=6379, db=0)
# 设置键值对,并设置过期时间
r.setex('key', 10, 'value') # 这里的10表示10秒后过期
# 应用场景:设置一个缓存,在缓存到期后自动刷新
def get_data():
data = r.get('key')
if data is None:
data = fetch_data_from_db() # 假设这是从数据库获取数据的函数
r.setex('key', 10, data)
return data
# 示例函数,模拟从数据库获取数据
def fetch_data_from_db():
return "Database data"
# 获取缓存数据
print(get_data())
这个简单的Python脚本展示了如何使用Redis的setex
命令设置一个带有过期时间的键值对,并提供了一个简单的应用场景,其中缓存数据在过期后会自动刷新。这是一个常见的缓存失效和自动刷新策略,适用于需要频繁读取但并非实时写入的数据。
评论已关闭