Python程式設計 redis快取資料庫

2021-08-15 03:34:44 字數 2373 閱讀 3402

broker快取:

- mongodb 存硬碟

- redis 預設存記憶體,配置可存硬碟

- memcache 只能存記憶體

remote dictionary server(redis)

redis官網:

redis資料型別:

- string 操作 set get

- hash 操作 hset hget

- list 操作 lpush lrange

- set 操作 sadd smembers

- sort set 操作

啟動服務:

切換目錄到 c:\redis 執行 redis-server.exe redis.windows.conf

連線服務:

切換到redis目錄下執行 redis-cli.exe -h 127.0.0.1 -p 6379

設定鍵值對 set mykey abc

取出鍵值對 get mykey

安裝第三方庫

pip install redis
import redis

r = redis.redis(host="127.0.0.1", port=6379)

r.set("foo", "***")

print(r.get("foo")) # b'***'

url鏈結

redis://username[:password]@host:port/db

# tcp連線

import redis

pool = redis.connectionpool(host="127.0.0.1", port=6379)

r = redis.redis(connection_pool=pool)

r.set("cat", "tom")

print(r.get("cat"))

import redis

pool = redis.connectionpool(host="127.0.0.1", port=6379)

r = redis.redis(connection_pool=pool)

pipe=r.pipeline(transaction=true)

pipe.set("key1", "value1")

pipe.set("key2", "value2")

pipe.execute() # 一起執行

print(r.get("key1"))

# 封裝的公共類

import redis

class

redishelper:

def__init__

(self):

self.__conn = redis.redis(host='127.0.0.1')

self.chan_sub = 'fm104.5'

self.chan_pub = 'fm104.5'

defpublic

(self, msg):

self.__conn.publish(self.chan_pub, msg)

return

true

defsubscribe

(self):

pub = self.__conn.pubsub()

pub.subscribe(self.chan_sub)

pub.parse_response()

return pub

# 發布者

import redis_helper

obj = redis_helper.redishelper()

obj.public('hello')

print("發布成功")

# 訂閱者

import redis_helper

obj = redis_helper.redishelper()

redis_sub = obj.subscribe()

print("開始訂閱")

while

true:

msg = redis_sub.parse_response()

print(msg)

參考文章:

redis-py

redis 命令參考

《redis 教程-菜鳥教程》

《python之路【第九篇】:python操作redis》

《python 之路,day12 - redis快取資料庫》

快取 redis 快取穿透

哪一些因素 考慮使用redis,畢竟 redis 也要增加成本 1 熱點資料 2 讀的成本非常大 3 讀多寫少 4 對資料一致性要求 沒有那麼嚴格 可以出現資料與資料庫不一致 1 秒殺場景 3 物流查詢軌跡 熱點資料 啟用的資料是被快取到redis 當中 快取key 乙個時間點過期的時候,如果快取資...

python程式設計(redis操作)

1 安裝redis 安裝redis不複雜,乙個apt get命令就可以解決,sudo apt get install redis server 2 驗證redis是否已經安裝 ps aux grep redis 3 安裝python redis sudo apt get install python...

Redis快取穿透 快取雪崩

把redis作為快取使用已經是司空見慣,但是使用redis後也可能會碰到一系列的問題,尤其是資料量很大的時候,經典的幾個問題如下 一 快取和資料庫間資料一致性問題 分布式環境下 單機就不用說了 非常容易出現快取和資料庫間的資料一致性問題,針對這一點的話,只能說,如果你的專案對快取的要求是強一致性的,...