python redis实战案例
时间: 2024-10-13 08:04:04 浏览: 33
Java开发之Redis实战案例.rar
Python Redis实战案例通常涉及数据缓存、会话管理、队列操作等方面。以下是几个常见的Redis应用场景:
1. **数据缓存**:在高并发场景下,可以将热点数据存储在Redis中,如用户信息、商品详情等,避免数据库频繁查询,提高响应速度。
```python
import redis
r = redis.Redis(host='localhost', port=6379, db=0)
value = r.get('username')
if not value:
value = 'JohnDoe'
r.set('username', value)
print(f"Username: {value}")
```
2. **会话管理**:在Web应用中,可以使用Redis作为会话存储,因为它支持持久化存储,避免了服务器重启导致会话丢失的问题。
```python
from flask import Flask, session, request
app = Flask(__name__)
app.config['SECRET_KEY'] = 'mysecretkey'
redis_store = redis.Redis(...)
@app.route('/')
def index():
sid = session.get('session_id')
if sid is None:
sid = generate_sid()
session['session_id'] = sid
# Save the session to Redis
redis_store.set(sid, session)
return f"Hello, {request.remote_user} (Session ID: {sid})"
```
3. **消息队列**:Redis的List、Set或Sorted Set可以用作消息队列,例如发布订阅模型(Publish/Subcribe)。
```python
import redis
r = redis.Redis(...)
# 发布消息到频道
r.rpush('my_channel', 'message')
# 订阅并处理消息
subscriber = r.pubsub()
subscriber.subscribe('my_channel')
for message in subscriber.listen():
if message['type'] == 'message':
print("Received:", message['data'])
```
阅读全文