오늘 v1.0.0을 출시합니다. upstash-redis 버전 파이썬 패키지. 이제 GitHub와 PyPi에서 사용할 수 있습니다.
이 패키지는 Upstash Redis용 연결 없는 HTTP 기반 클라이언트로, AWS Lambda, Google Cloud Functions 또는 TCP보다 HTTP가 선호되는 모든 환경과 같은 서버리스 환경에서 사용할 수 있도록 설계되었습니다.
새로운 소식
새 버전에서는 패키지에 모든 명령에 대한 예제 사용법이 포함된 Python 독스트링이 함께 제공됩니다.

upstash redis Python 문서에서 모든 명령에 대한 문서와 예제를 찾을 수도 있습니다.
빠른 시작
패키지 설치
pip install upstash-redis Redis 클라이언트 생성
from upstash_redis import UpstashRedis
redis = Redis(url="UPSTASH_REDIS_REST_URL", token="UPSTASH_REDIS_REST_TOKEN")
redis.set("key", "value")
환경 변수 UPSTASH_REDIS_REST_URL를 사용할 수도 있습니다. 그리고 UPSTASH_REDIS_REST_TOKEN 생성자에 전달하는 대신
from upstash_redis import UpstashRedis
redis = Redis.from_env()
redis.set("key", "value")
SDK는 asyncio를 사용하여 비동기 기능도 지원합니다. 및 aiohttp 패키지.
import asyncio
from upstash_redis.asyncio import Redis
async def main():
redis = Redis.from_env()
await redis.set("key", "value")
asyncio.run(main()) 이를 허용하는 서버리스 환경에 있는 경우 함수가 여전히 활성화되어 있는 동안 재사용되도록 요청 핸들러 외부에서 클라이언트를 초기화하는 것이 좋습니다.
일부 명령의 값 유형 변경
set와 같은 일부 명령 또는 hset 허용됨 Any 값 유형으로. 그런 다음 값은 json.dumps을 사용하여 문자열로 변환되었습니다. . 이로 인해 일부 명령에서 혼란이 발생했습니다.
이제 새로운 유형인 ValueT으로 변경되었습니다. str만 허용됩니다. , int , float 및 bool .
ValueT = Union[str, int, float, bool]
def set(
self,
key: str,
value: ValueT,
...
) -> Optional[str]: ... SDK는 여전히 이전 동작을 지원하지만 입력이 변경되었습니다.
# Works, but gives a type error
redis.set("key", {"foo": "bar"})
# Works
redis.set("key", json.dumps({"foo": "bar"})) Dict 대신 GeoSearchResult를 반환하는 Geo 명령
geosearch 및 georadius 이제 명령이 GeoSearchResult을 반환합니다. 사전 대신 객체를 사용하는 것이 더 편리합니다.
Set 대신 List를 반환하는 Set 명령
sdiff의 반환 유형이 변경되었습니다. , sunion , sinter 및 smembers List에 대한 메서드 Set에서 .이것은 결과에 대해 반복을 수행하는 사용자에 대한 추가 세트 할당을 제거합니다. 원하는 경우 목록을 직접 설정으로 되돌릴 수 있습니다.
결론
새로운 버전의 패키지를 즐겨보시기 바랍니다. pipeline을 추가할 계획입니다. 및 json 명령은 Python SDK를 지원합니다.
또한 Python 속도 제한 라이브러리나 Python에 관한 다른 블로그 게시물을 확인하실 수도 있습니다.
질문이나 피드백이 있으시면 X나 Discord를 통해 연락주세요.