flask项目使用Redis

4,567 阅读1分钟

在flask中使用Redis:

1、配置文件 config.py:

   REDIS_DB_URL = {
        'host': '127.0.0.1',
        'port': 6379,
        'password': '',
        'db': 0
    }

2、取得服务器上的Redis连接,新建get_redis.py:

import redis
from config import DevelopmentConfig
 
 
def connect_redis():
    return redis.Redis(**DevelopmentConfig.REDIS_DB_URL)

3、键值对的增删改查:

from .get_redis import connect_redis
from config import Config
 
 
def get_redis_data(key):
    conn = connect_redis()
    data = conn.get(key)
    return data
 
 
def set_redis_data(key, value):
    conn = connect_redis()
    data = value
    conn.set(
        name=key,
        value=data,
        ex=Config.EXPIRES_TIME  # 第三个参数表示Redis过期时间,不设置则默认不过期
    )
    # 存到Redis

3、实例:用Redis储存微信公众平台的token(过期时间7200秒):

from .get_redis import connect_redis
from config import Config
import requests
def get_token(token_name):
    conn = connect_redis()
    token_tmpl = conn.get(token_name)
    if not token_tmpl:
        result = requests.get(Config.TOKEN_URL.format(CORPSECRET=Config.BASIC_SECRET)).json()
        token = result.get('access_token')  # 获取token
        expires_in_seconds = int(result.get('expires_in') * 0.9)    # 获取token的过期时间
        conn.set(
            name=token_name,
            value=token,
            ex=expires_in_seconds   # 第三个参数表示Redis过期时间
        )
        # 存到Redis
    else:
        token = token_tmpl.decode("utf8")            # 解码
 
    return token