Hôm nay chúng tôi sẽ phát hành v1.0.0 phiên bản của upstash-redis gói trăn. Nó hiện có sẵn trên GitHub và PyPi.
Gói này là ứng dụng khách dựa trên HTTP không kết nối dành cho Upstash Redis, được thiết kế để có thể sử dụng được trong các môi trường không có máy chủ như AWS Lambda, Google Cloud Functions hoặc bất kỳ môi trường nào mà HTTP được ưu tiên hơn TCP.
Có gì mới?
Với các phiên bản mới, gói này đi kèm với các chuỗi tài liệu python cho mọi lệnh kèm theo ví dụ về cách sử dụng trong đó.

Bạn cũng có thể tìm thấy tài liệu và ví dụ cho mọi lệnh trong tài liệu python redis upstash.
Bắt đầu nhanh
Cài đặt gói
pip install upstash-redis Tạo ứng dụng khách Redis
from upstash_redis import UpstashRedis
redis = Redis(url="UPSTASH_REDIS_REST_URL", token="UPSTASH_REDIS_REST_TOKEN")
redis.set("key", "value")
Bạn cũng có thể sử dụng các biến môi trường UPSTASH_REDIS_REST_URL và UPSTASH_REDIS_REST_TOKEN thay vì chuyển chúng cho hàm tạo.
from upstash_redis import UpstashRedis
redis = Redis.from_env()
redis.set("key", "value")
SDK cũng hỗ trợ các chức năng không đồng bộ với asyncio và aiohttp gói.
import asyncio
from upstash_redis.asyncio import Redis
async def main():
redis = Redis.from_env()
await redis.set("key", "value")
asyncio.run(main()) Nếu bạn đang ở trong môi trường không có máy chủ cho phép điều đó, bạn nên khởi tạo ứng dụng khách bên ngoài trình xử lý yêu cầu để tái sử dụng trong khi chức năng của bạn vẫn còn nóng.
Thay đổi loại giá trị trong một số lệnh
Một số lệnh như set hoặc hset đã chấp nhận Any dưới dạng một loại giá trị. Giá trị sau đó được chuyển đổi thành chuỗi bằng cách sử dụng json.dumps . Điều này dẫn đến một số nhầm lẫn trong một số lệnh.
Điều này hiện đã được thay đổi thành loại mới, ValueT chỉ chấp nhận str , int , float và bool .
ValueT = Union[str, int, float, bool]
def set(
self,
key: str,
value: ValueT,
...
) -> Optional[str]: ... SDK vẫn hỗ trợ hành vi cũ nhưng cách gõ đã thay đổi.
# Works, but gives a type error
redis.set("key", {"foo": "bar"})
# Works
redis.set("key", json.dumps({"foo": "bar"})) Lệnh địa lý trả về GeoSearchResult thay vì Dict
geosearch và georadius các lệnh bây giờ trả về GeoSearchResult object thay vì từ điển sẽ thuận tiện hơn khi sử dụng.
Lệnh đặt trả về Danh sách thay vì Đặt
Đã thay đổi kiểu trả về của sdiff , sunion , sinter , và smembers phương thức tới List từ Set .Điều này giúp loại bỏ việc phân bổ tập hợp bổ sung cho người dùng thực hiện lặp lại kết quả. Nếu muốn, họ có thể tự trả lại danh sách.
Kết luận
Chúng tôi hy vọng bạn thích phiên bản mới của gói. Chúng tôi đang có kế hoạch thêm pipeline và json hỗ trợ các lệnh cho sdk python.
Bạn cũng có thể xem thư viện giới hạn tốc độ python của chúng tôi hoặc các bài đăng blog khác của chúng tôi về python.
Nếu bạn có bất kỳ câu hỏi hoặc phản hồi nào, vui lòng liên hệ với chúng tôi trên X hoặc Discord.