Python中redis的使用

2021-07-31 09:16:49 字數 2776 閱讀 7910

windows下python中redis的使用

預設使用的埠號是6379。此時的redis服務就啟動了。可以在python等其他環境中對如redis進行讀寫操作。

另外,該目錄下有乙個redis-cli.exe,是redis的客戶端,直接啟動這個可以進行redis中key和value的修改。

用select可以進行資料庫的切換,資料庫索引號 index 用數字值指定,以 0 作為起始索引值。

注意,切換資料庫後命令列的提示符會相應改變(預設是0,可以不顯示)。

常用命令:

set命令:set 『key』 『value』

get命令:獲取指定key對應的value值。

lpush:佇列儲存。將乙個或多個值插入到列表頭部。 如果 key 不存在,乙個空列表會被建立並執行 lpush 操作。 當 key 存在但不是列表型別時,返回乙個錯誤。 用法:lpush keyname value1 value2 value3….

執行 lpush命令後,返回列表的長度。 注意value之間是以空格作為分割的。

lrange:獲取列表指定範圍內的元素。

用法:lrange key start stop

為了能夠在python上使用redis需要預先安裝對應的庫pip install redis

示例**如下:

import redis

r = redis.redis(host = 'localhost', port = 6379, db = 1)

r.set('k1', 'v1')

r.set('k2', 'v2')

print(r.get('k1'))

print(r.keys())#列印當前所有的keys

print(r.dbsize())#檢視當前有多少keys

r.delete('k2')#刪除k2

print(r.keys())

print(r.dbsize())

print(dir(r))#檢視redis對應的方法

'''採用pipeline方式

一次性批量提交命令

'''# #pipeline

p = r.pipeline()

p.set('k3', 'v3')

p.set('k4', 'v4')

p.incr('num')

p.incr('num')

p.execute()

print(r.get('num'))

還有的另外一種連線方式是strict連線(相容性問題),strictredis用於實現大部分官方的命令,並使用官方的語法和命令(比如,set命令對應與strictredis.set方法)。redis是strictredis的子類,用於向後相容舊版本的redis-py。 簡單說,官方推薦使用strictredis方法。在redis-cli上的操作兩者會有一些差異,具體問谷歌吧。

**如下:

執行如下**之後,該程序一直在等待redis中5號資料庫中key值為task_prodcons_queue的佇列出現值。一旦該佇列有值進來,則該任務程序取出該task的值,並列印。

import redis

class task:

def __init__(self):

self.rcon = redis.redis(host = 'localhost', db = 5)

self.queue = 'task_prodcons_queue'

def process_task(self):

while true:

task = self.rcon.blpop(self.queue, 0)[1]#一直等待,從queue中取任務。blpop方式,是阻塞式的pop。

print('task: ', task)

task().process_task()#一直等待任務

執行結果:

示例**:

import redis

class

task:

def__init__

(self):

self.rcon = redis.redis(host = 'localhost', db = 5)

self.ps = self.rcon.pubsub()#訂閱模式

self.ps.subscribe('task_pubsub_channel')#訂閱該key值,一旦該key值有發布,有訂閱的客戶端都能夠收到訊息

defprocess_task

(self):

for i in self.ps.listen():#監聽

if i['type'] == 'message':#訊息的型別

print('task: ', i['data'])#訊息的內容

task().process_task()

在redis-cli中利用publish方式往redis中頻道(即對應的key值)中傳送資訊後,在啟動執行上述**的多個訂閱客戶端就會收到對應的key值的訂閱資訊。類似於接收到廣播。

python中redis的安裝和使用

python下redis安裝 shell wget 然後解壓 在解壓目錄執行python setup.py install安裝模組即可 安裝完成 使用 import redis r redis.redis host程式設計客棧 localhost port 6379,db 0 r test test...

python使用正則批量刪除redis中的資料

盡在使用python操作redis時,因業務需求需要在存資料之前清空上一次存的資料,之前存的key是stats.row.referer1 stats.row.referer2.等資料,於是就想到批量刪除,網上對於相關的敘述並不是特別清晰,因此把問題進行記錄。以下就是部分 import redis 匯...

Spring Boot 中的redis使用

步驟一 匯入依賴包 org.springframework.boot spring boot starter redis 步驟二 1.單機版 spring.redis.host 192.168.0.111 spring.redis.port 8023在spring boot 的啟動類中開啟redis...