1. 程式人生 > 資料庫 >淺析python redis的連線及相關操作

淺析python redis的連線及相關操作

redis簡介

Redis是一個開源的使用ANSIC語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。是一個非關係型資料庫,經常會用作快取,訊息中介軟體的操作

redis優勢

  • 速度快,因為資料存在記憶體中
  • 支援豐富資料型別,支援字串,雜湊表,列表,集合,有序集合
  • 支援事務,操作都是原子性
  • 豐富的特性:可用於快取,訊息,按key設定過期時間,過期後將會自動刪除

1、redis連線、及存取值

import redis
r = redis.Redis(host='192.168.2.22',port=6379,db=2,password= 'redis')
r.set('name','Delia')    # 在redis裡面放置對應的key,value
v = r.get('name')      # 獲取key值對應的value值
print(v)

redis-py使用connection pool來管理對一個redis server的所有連線,避免每次建立、釋放連線的開銷。

預設,每個Redis例項都會維護一個自己的連線池。可以直接建立一個連線池,然後作為引數Redis,這樣就可以實現多個Redis例項共享一個連線池。

import redis
pool = redis.ConnectionPool(host='192.168.2.22',password='redis')
r = redis.Redis(connection_pool=pool)
r.set('name',value
v = r.get('name')      # 獲取key值對應的value值
print(v)

輸出結果裡面的b代表的是二進位制

2、批量存取值

import redis
pool = redis.ConnectionPool(host='192.168.2.22',password='redis')
r = redis.Redis(connection_pool=pool)
r.mset({'name':'Delia','age':'18'})   # mset(mapping=''),批量設定值 {k1 = '',k2 = ''}
v = r.mget({'name','age'}) # 批量獲取值
print(v)

輸出結果:

[b'Delia',b'18']

3、存取value的某個範圍

import redis
pool = redis.ConnectionPool(host='192.168.2.22','Delia1234')
r.setrange('name',4,'00')   #setrange(name,offset,value)修改字串內容,從指定位置開始替換
v = r.getrange('name',5) #getrange(key,start,end)獲取子序列
print(v)

輸出結果:

b'00'

4、在value中追加內容

import redis
pool = redis.ConnectionPool(host='192.168.2.22','Delia1234')
r.append('name','aaa')   #append(key,value)在redis name對應的值後面追加內容
v = r.get('name') 
print(v)

輸出結果:

b'Delia1234aaa'

總結

以上所述是小編給大家介紹的python redis的連線及相關操作,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!