網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
使用 Flask 操作 Redis 可以通過(guò)安裝 Redis 的 Python 庫(kù)并在 Flask 中使用它來(lái)實(shí)現(xiàn)。
正式學(xué)習(xí)前,需要先確定 Redis 已安裝并可正常運(yùn)行
運(yùn)行 redis-server.exe redis.windows.conf 啟動(dòng) Redis 服務(wù)器
運(yùn)行 redis-cli.exe ping 檢查 Redis 服務(wù)器是否運(yùn)行正常
運(yùn)行 redis-cli.exe -h <host> -p <port> 連接 Redis 服務(wù)器
簡(jiǎn)單示例
安裝 Redis Python 庫(kù):
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", "夢(mèng)想橡皮擦")
return redis_client.get("key").decode()
if __name__ == "__main__":
app.run(debug=True)
運(yùn)行代碼之后,可查看 Redis 中已經(jīng)成功寫(xiě)入數(shù)據(jù)。
python flask 操作 Redis 更多內(nèi)容
操作 Redis 常見(jiàn)的方法還有
- 增加數(shù)據(jù):redis_client.incr("counter")
- 獲取數(shù)據(jù):redis_client.get("key")
- 設(shè)置數(shù)據(jù):redis_client.set("key", "value")
- 刪除數(shù)據(jù):redis_client.delete("key")
- 存儲(chǔ)列表:redis_client.lpush("list", "value1")
- 獲取列表:redis_client.lrange("list", 0, -1)
- 存儲(chǔ)字典:redis_client.hmset("dict", {"key1": "value1", "key2": "value2"})
- 獲取字典:redis_client.hgetall("dict")
使用 Redis 時(shí),需要注意它的數(shù)據(jù)類(lèi)型,Redis 支持多種數(shù)據(jù)類(lèi)型,如字符串、列表、字典等。
通過(guò) Flask 存儲(chǔ)字符串、列表和字典
代碼如下:
from flask import Flask, jsonify
import redis
app = Flask(__name__)
redis_client = redis.Redis(host='localhost', port=6379, db=0)
@app.route("/")
def index():
# 設(shè)置字符串類(lèi)型的數(shù)據(jù)
redis_client.set("string_key", "Hello Redis")
# 獲取字符串類(lèi)型的數(shù)據(jù)
string_value = redis_client.get("string_key").decode()
# 存儲(chǔ)列表類(lèi)型的數(shù)據(jù)
redis_client.lpush("list_key", "item1", "item2", "item3")
# 獲取列表類(lèi)型的數(shù)據(jù)
list_value = redis_client.lrange("list_key", 0, -1)
list_value = [item.decode() for item in list_value]
# 存儲(chǔ)字典類(lèi)型的數(shù)據(jù)
redis_client.hmset("dict_key", {"key1": "value1", "key2": "value2"})
# 獲取字典類(lèi)型的數(shù)據(jù)
dict_value = redis_client.hgetall("dict_key")
dict_value = {k.decode(): v.decode() for k, v in dict_value.items()}
# 返回響應(yīng)
return jsonify({
"string_key": string_value,
"list_key": list_value,
"dict_key": dict_value
})
if __name__ == "__main__":
app.run(debug=True)
在代碼中,我們定義了三種不同的數(shù)據(jù)類(lèi)型,分別為字符串、列表和字典,并在 Flask 視圖函數(shù)中存儲(chǔ)和讀取這三種數(shù)據(jù)類(lèi)型。最后,使用 jsonify() 函數(shù)將所有數(shù)據(jù)類(lèi)型的值作為 JSON 響應(yīng)返回。
- 使用 redis_client.set() 方法向 Redis 中存儲(chǔ)了一個(gè)字符串類(lèi)型的數(shù)據(jù),該數(shù)據(jù)的鍵為 “string_key”,值為 “Hello Redis”。
- 使用 redis_client.get() 方法讀取存儲(chǔ)在 Redis 中的字符串類(lèi)型數(shù)據(jù),并使用 decode 方法將字節(jié)類(lèi)型數(shù)據(jù)轉(zhuǎn)換為字符串類(lèi)型。
- 使用 redis_client.lpush() 方法向 Redis 中存儲(chǔ)了一個(gè)列表類(lèi)型的數(shù)據(jù),該數(shù)據(jù)的鍵為 “l(fā)ist_key”,值為 [“item1”, “item2”, “item3”]。
- 使用 redis_client.lrange() 方法讀取存儲(chǔ)在 Redis 中的列表類(lèi)型數(shù)據(jù),并使用 decode 方法將字節(jié)類(lèi)型數(shù)據(jù)轉(zhuǎn)換為字符串類(lèi)型。
- 使用 redis_client.hmset() 方法向 Redis 中存儲(chǔ)了一個(gè)字典類(lèi)型的數(shù)據(jù),該數(shù)據(jù)的鍵為 “dict_key”,值為 {“key1”: “value1”, “key2”: “value2”}。
- 使用 redis_client.hgetall() 方法讀取存儲(chǔ)在 Redis 中的字典類(lèi)型數(shù)據(jù),并使用字典推導(dǎo)式將字節(jié)類(lèi)型數(shù)據(jù)轉(zhuǎn)換為字符串類(lèi)型。
運(yùn)行代碼效果圖如下所示。
原文鏈接:https://blog.csdn.net/hihell/article/details/128818161
相關(guān)推薦
- 2023-01-19 詳解Go語(yǔ)言實(shí)現(xiàn)線性查找算法和二分查找算法_Golang
- 2023-03-17 使用c語(yǔ)言輕松實(shí)現(xiàn)動(dòng)態(tài)內(nèi)存管_C 語(yǔ)言
- 2022-04-01 SQL?Server?事務(wù),異常和游標(biāo)詳解_MsSql
- 2023-10-17 npm ERR! code ELIFECYCLE解決方案,npm犯錯(cuò)!myweb@1.0.0構(gòu)建腳本
- 2023-01-12 Kotlin?Option與Either及Result實(shí)現(xiàn)異常處理詳解_Android
- 2023-03-18 ASP.NET?Core?7?Razor?Pages項(xiàng)目發(fā)布到IIS的詳細(xì)過(guò)程_實(shí)用技巧
- 2023-04-01 python加速器numba使用詳解_python
- 2022-08-04 GoFrame框架gset交差并補(bǔ)集使用實(shí)例_Golang
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門(mén)
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支