Python kết nối với cơ sở dữ liệu redis như thế nào?

Redis là kho lưu trữ dữ liệu khóa-giá trị trong bộ nhớ phổ biến, là một loại cơ sở dữ liệu NoSQL. Redis chủ yếu được sử dụng làm cơ sở dữ liệu bộ đệm, nhưng ứng dụng của nó không kết thúc ở đó. Bạn có thể tìm thấy nhiều bài viết giải thích cách Redis có thể trở thành cơ sở dữ liệu tất cả trong một cho tất cả các loại ứng dụng. Trong bài viết này, chúng ta sẽ hiểu cách kết nối và sử dụng Redis trong python

Cài đặt Redis trên Windows

Redis không được hỗ trợ chính thức trên Windows. Tuy nhiên, bạn có thể cài đặt Redis bằng cách thiết lập Windows Subsystem cho Linux 2 và cấu hình nó. Ngoài ra, bạn có thể chạy Redis trên một container bằng Docker mà tôi sẽ trình bày trong bài viết này. Bước đầu tiên là cài đặt Docker trên máy Windows của bạn. Bạn có thể tải xuống Docker Desktop từ đây. Quá trình cài đặt khá đơn giản và trực tiếp. Bây giờ chúng ta đã có Docker trên máy của mình, hãy nhập lệnh sau trên dấu nhắc lệnh để tìm nạp hình ảnh Redis từ Docker Hub, có thể được sử dụng để xây dựng và chạy vùng chứa

docker pull redis

Khi điều này được thực hiện, bước thứ ba là bắt đầu vùng chứa bằng hình ảnh Redis mà chúng tôi đã tải xuống trước đó

Tại đây, nhấp vào nút 'CHẠY'

Xin vui lòng tham khảo hình ảnh dưới đây để tham khảo

Xin chúc mừng, bạn đã khởi động thành công máy chủ Redis trên máy của mình

Cài đặt Redis-py

Để kết nối và sử dụng Redis trong python, chúng tôi sẽ sử dụng mô-đun python có tên là redis-py. Nó có thể được cài đặt bằng cách chạy lệnh sau trong dấu nhắc lệnh

pip install redis

Bây giờ chúng ta đã sẵn sàng mọi thứ, hãy bắt tay vào phần lập trình

Sử dụng Redis-py

Trước khi thực hiện bất kỳ hoạt động CRUD nào, trước tiên chúng ta cần kết nối với máy chủ Redis, điều này rất trực tiếp trong redis-py. Chúng ta cần đặt tham số decode_responses là true để không nhận được phản hồi ở định dạng byte

import redis
r = redis.Redis[decode_responses=True]
r.ping[]
True

Bây giờ chúng ta đã kết nối với máy chủ Redis, hãy bắt đầu thực hiện các thao tác CRUD đơn giản

Để đặt một cặp khóa-giá trị, chúng tôi sử dụng chức năng “đặt” chấp nhận khóa và giá trị làm tham số. Xin lưu ý rằng khóa phải luôn là kiểu dữ liệu chuỗi hoặc byte

r.set['hello', 'world']

Để lấy giá trị cho một khóa cụ thể, chúng tôi sử dụng hàm “get” chấp nhận khóa mà chúng tôi muốn giá trị được trả về

r.get['hello']
world

Để đặt nhiều cặp khóa-giá trị, chúng tôi sử dụng hàm “mset” viết tắt của multiple-set và chấp nhận nhiều cặp khóa-giá trị làm tham số

data = {
    'hello': 'world',
    'lorem': 'ipsum'
}
r.mset[data]
r.get['lorem']
ipsum

Để đặt một cặp khóa-giá trị trong đó giá trị thuộc loại dữ liệu đã đặt, chúng tôi sử dụng hàm “sadd”. Kiểu dữ liệu tập hợp chỉ chứa các phần tử duy nhất, không giống như kiểu dữ liệu danh sách. Bây giờ chúng ta hãy lưu trữ một tập hợp các loại trái cây mà không lặp lại các loại trái cây

fruits = ["avocado",  "strawberry", "strawberry", "mango", "orange"]
r.sadd['fruits', *fruits]

Để lấy tất cả các giá trị của trái cây mà chúng ta vừa lưu trữ, chúng ta có thể sử dụng hàm “smembers”

pip install redis
0

Vì chúng ta đã thấy cách lưu trữ các giá trị kiểu dữ liệu đã đặt trong Redis, bây giờ chúng ta hãy tìm hiểu cách lưu trữ kiểu dữ liệu danh sách. Nó có thể được thực hiện bằng chức năng “lpush”. Hãy để chúng tôi lưu trữ một danh sách các ngôn ngữ lập trình sử dụng chức năng này

pip install redis
1

Để lấy tất cả các phần tử trong danh sách, chúng ta sử dụng hàm “lrange” giúp duyệt qua các phần tử trong danh sách. “-1” biểu thị rằng hàm dự kiến ​​sẽ trả về tất cả các phần tử, nhưng nếu bạn chỉ muốn trả về 3 phần tử đầu tiên của danh sách, bạn có thể làm như vậy bằng cách thay thế “-1” bằng “2”. Lưu ý rằng nó không phải là "3" vì nó sẽ đi qua cho đến khi chỉ mục là ba và trả về tổng cộng bốn phần tử

pip install redis
2____13

Bây giờ, chúng ta hãy thử lưu một đối tượng lồng nhau trong Redis. Để lưu trữ các đối tượng lồng nhau, chúng ta có thể sử dụng hàm “hset” nhưng nó chỉ cho phép một cấp độ lồng nhau

pip install redis
4

Nếu bạn muốn lưu trữ các đối tượng được lồng sâu với các loại dữ liệu khác nhau, có thể sử dụng các kỹ thuật tuần tự hóa như sử dụng json hoặc pickle. Hãy xem thực tế này để hiểu rõ hơn

pip install redis
5

Để trích xuất thông tin được lưu trữ, chúng ta có thể trực tiếp sử dụng hàm “get” và sau đó hoàn tác quá trình xâu chuỗi được thực hiện bởi json

pip install redis
6
pip install redis
7

Vì đây là kho lưu trữ dữ liệu trong bộ nhớ nên điều quan trọng là các cặp khóa-giá trị cũ sẽ bị xóa hoặc đúng hơn là hết hạn để nhường chỗ cho việc lưu trữ dữ liệu mới. Đối với điều này, Redis có sẵn tùy chọn hết hạn chính. Bây giờ chúng ta hãy thử lưu trữ một cặp khóa-giá trị với thời gian hết hạn. Chúng ta có thể sử dụng chức năng “setex” để đặt thời hạn sử dụng cho một cặp khóa-giá trị. Nó chấp nhận TTL trong vài giây. Nếu bạn muốn đặt TTL theo mili giây, bạn có thể sử dụng chức năng “psetex”

pip install redis
8

Để biết thời gian còn lại của một khóa là bao nhiêu, chúng ta có thể sử dụng hàm “ttl”, hàm này sẽ trả về thời gian còn lại tính bằng giây. Tương tự, hàm “pttl” sẽ trả về kết quả tương tự nhưng tính bằng mili giây. Nếu khóa đã hết hạn, giá trị trả về sẽ là số âm

pip install redis
9
import redis
r = redis.Redis[decode_responses=True]
r.ping[]
0

Giả sử chúng ta muốn kiểm tra xem một khóa đã hết hạn hay chưa, chúng ta có thể sử dụng hàm “exists” sẽ trả về 1 nếu còn và 0 nếu đã hết hạn

import redis
r = redis.Redis[decode_responses=True]
r.ping[]
1
import redis
r = redis.Redis[decode_responses=True]
r.ping[]
2

Để xóa một cặp key-value trong Redis, chúng ta có thể sử dụng chức năng “delete”. Nó chấp nhận chìa khóa mà bạn muốn xóa

import redis
r = redis.Redis[decode_responses=True]
r.ping[]
3

Sự kết luận

Trong bài viết này, chúng tôi đã thảo luận và đề cập đến những điều sau đây

  • Redis là gì?
  • Cài đặt docker trên windows
  • Chạy nó trên một container docker
  • Kết nối bằng redis-py
  • Thực hiện các thao tác CRUD đơn giản bằng redis-py

Các chức năng được thảo luận trong bài viết này là cần thiết để hiểu và thực hiện các hoạt động CRUD cơ bản trong Redis, nhưng có rất nhiều chức năng khác nhau có sẵn. Để tìm hiểu thêm về các chức năng này, hãy tham khảo tài liệu chính thức của Redis. Trang web chính thức có một trang riêng bao gồm tất cả các lệnh có sẵn trong Redis. Bạn có thể truy cập trang đó bằng cách nhấp vào liên kết này. Như đã đề cập trước đó, Redis có thể là cơ sở dữ liệu tất cả trong một với sự ra đời của Ngăn xếp. Nếu quan tâm, bạn có thể tìm hiểu thêm về Stack tại đây. Tôi sẽ cố gắng trình bày về Redis Stack trong một bài viết khác

Đó là nó cho bài viết này. Hy vọng bạn thích đọc bài viết này và học được điều gì đó mới. Cảm ơn đã đọc và học tập vui vẻ

Phương tiện hiển thị trong bài viết này không thuộc sở hữu của Analytics Vidhya và được sử dụng theo quyết định của Tác giả

Làm cách nào để kết nối với cơ sở dữ liệu Redis bằng python?

Cách sử dụng Redis với Python .
Cài đặt Redis từ nguồn
Định cấu hình Redis
Mười phút hoặc hơn để Redis. Bắt đầu. Redis như một từ điển Python. .
Sử dụng redis-py. Redis trong Python. Những bước đầu tiên. Các loại khóa được phép. .
Sử dụng Hiredis
Sử dụng ứng dụng Redis doanh nghiệp
kết thúc
Đọc thêm

Làm cách nào để kết nối với cụm Redis từ python?

Sử dụng Python . Biết thêm về redis-py-cluster tại đây. Tất cả những gì chúng ta cần làm bây giờ là nhập RedisCLuster và xác định một số cấu hình. Biến rc bây giờ sẽ có khả năng thực hiện tất cả các hoạt động redis như tồn tại[], hết hạn[], v.v. use redis-py-cluster. Know more about redis-py-cluster here. All we need to do now is import RedisCLuster and define some configuration. Variable rc will now be capable to do all redis operations like exists[] , expire[] etc.

Làm cách nào để lấy giá trị từ Redis trong python?

Để lấy giá trị được lưu trữ trong một khóa, bạn có thể sử dụng lệnh GET theo sau là tên của khóa . Lệnh trên yêu cầu Redis tìm nạp giá trị được lưu trữ trong khóa đã chỉ định. Chúng ta có thể sử dụng lệnh GET theo sau là giá trị duy nhất như. NHẬN tên người dùng. 3.

Làm cách nào để đặt giá trị trong Redis trong python?

Đang kết nối với Redis .
nhập redis. r = làm lại. Redis [ máy chủ = '172. 31. 226. 228',.
nếu r. ping[]. in ["PONG"] khác. .
# đặt cặp khóa-giá trị. r. set["mykey", "myvalue"]
# nhận giá trị. in [r. nhận ["mykey"]]
b'giá trị của tôi'
# thiết lập với thời hạn sử dụng. r. setex["another-key", 60, "another-value"]
in [r. ttl["key khác"]]
# chuyển db. r. chọn[10]

Chủ Đề