Python利用flask操作Redis的方法详解
梦想橡皮擦 人气:0使用 Flask 操作 Redis 可以通过安装 Redis 的 Python 库并在 Flask 中使用它来实现。
正式学习前,需要先确定 Redis 已安装并可正常运行
运行 redis-server.exe redis.windows.conf 启动 Redis 服务器
运行 redis-cli.exe ping 检查 Redis 服务器是否运行正常
运行 redis-cli.exe -h <host> -p <port> 连接 Redis 服务器
简单示例
安装 Redis Python 库:
pip install redis
在 Flask 中使用:
from flask import Flask import redis app = Flask(__name__) redis_client = redis.Redis(host='localhost', port=6379, db=0) @app.route("/") def index(): redis_client.set("name", "梦想橡皮擦") return redis_client.get("key").decode() if __name__ == "__main__": app.run(debug=True)
运行代码之后,可查看 Redis 中已经成功写入数据。
python flask 操作 Redis 更多内容
操作 Redis 常见的方法还有
- 增加数据:redis_client.incr("counter")
- 获取数据:redis_client.get("key")
- 设置数据:redis_client.set("key", "value")
- 删除数据:redis_client.delete("key")
- 存储列表:redis_client.lpush("list", "value1")
- 获取列表:redis_client.lrange("list", 0, -1)
- 存储字典:redis_client.hmset("dict", {"key1": "value1", "key2": "value2"})
- 获取字典:redis_client.hgetall("dict")
使用 Redis 时,需要注意它的数据类型,Redis 支持多种数据类型,如字符串、列表、字典等。
通过 Flask 存储字符串、列表和字典
代码如下:
from flask import Flask, jsonify import redis app = Flask(__name__) redis_client = redis.Redis(host='localhost', port=6379, db=0) @app.route("/") def index(): # 设置字符串类型的数据 redis_client.set("string_key", "Hello Redis") # 获取字符串类型的数据 string_value = redis_client.get("string_key").decode() # 存储列表类型的数据 redis_client.lpush("list_key", "item1", "item2", "item3") # 获取列表类型的数据 list_value = redis_client.lrange("list_key", 0, -1) list_value = [item.decode() for item in list_value] # 存储字典类型的数据 redis_client.hmset("dict_key", {"key1": "value1", "key2": "value2"}) # 获取字典类型的数据 dict_value = redis_client.hgetall("dict_key") dict_value = {k.decode(): v.decode() for k, v in dict_value.items()} # 返回响应 return jsonify({ "string_key": string_value, "list_key": list_value, "dict_key": dict_value }) if __name__ == "__main__": app.run(debug=True)
在代码中,我们定义了三种不同的数据类型,分别为字符串、列表和字典,并在 Flask 视图函数中存储和读取这三种数据类型。最后,使用 jsonify() 函数将所有数据类型的值作为 JSON 响应返回。
- 使用 redis_client.set() 方法向 Redis 中存储了一个字符串类型的数据,该数据的键为 “string_key”,值为 “Hello Redis”。
- 使用 redis_client.get() 方法读取存储在 Redis 中的字符串类型数据,并使用 decode 方法将字节类型数据转换为字符串类型。
- 使用 redis_client.lpush() 方法向 Redis 中存储了一个列表类型的数据,该数据的键为 “list_key”,值为 [“item1”, “item2”, “item3”]。
- 使用 redis_client.lrange() 方法读取存储在 Redis 中的列表类型数据,并使用 decode 方法将字节类型数据转换为字符串类型。
- 使用 redis_client.hmset() 方法向 Redis 中存储了一个字典类型的数据,该数据的键为 “dict_key”,值为 {“key1”: “value1”, “key2”: “value2”}。
- 使用 redis_client.hgetall() 方法读取存储在 Redis 中的字典类型数据,并使用字典推导式将字节类型数据转换为字符串类型。
运行代码效果图如下所示。
加载全部内容