Redis
 Computer >> コンピューター >  >> プログラミング >> Redis

Upstash Redis Python SDK v1.0.0 の紹介 – コネクションレス、サーバーレス対応クライアント

本日、v1.0.0 をリリースします。 upstash-redis のバージョン Pythonのパッケージ。現在、GitHub と PyPi で利用可能です。

このパッケージは、Upstash Redis 用のコネクションレス型 HTTP ベースのクライアントで、AWS Lambda、Google Cloud Functions などのサーバーレス環境、または TCP よりも HTTP が優先される環境で使用できるように設計されています。

新機能は何ですか?

新しいバージョンでは、パッケージには各コマンドの使用例を含む Python docstring が付属しています。

Upstash Redis Python SDK v1.0.0 の紹介 – コネクションレス、サーバーレス対応クライアント

また、upstash redis python docs で各コマンドのドキュメントと例を見つけることもできます。

クイックスタート

パッケージをインストールします

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 のみを受け入れます 、intfloatbool .

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 を返す地理コマンド

geosearchgeoradius コマンドは GeoSearchResult を返すようになりました。 辞書の代わりにオブジェクトを使用すると、より使いやすくなります。

Set ではなく List を返す Set コマンド

sdiff の戻り値の型を変更しました 、sunionsinter 、および smembers メソッドを List に設定 Setから これにより、結果に対して反復を実行するユーザーに対する余分なセットの割り当てが不要になります。必要に応じて、リストを自分でセットに戻すことができます。

結論

新しいバージョンのパッケージをお楽しみいただければ幸いです。 pipeline を追加する予定です。 および json Python SDK に対するコマンドのサポート。

また、Python レート制限ライブラリや、Python に関する他のブログ投稿もご覧ください。

ご質問やフィードバックがございましたら、X または Discord までご連絡ください。


  1. Next.jsでMetamaskを使用するDAppの優先ストレージ

    DAOやDAPPなどのWeb3アプリケーションはますます人気が高まっています。 Web3の前提により、これらのプラットフォームは、ユーザーのIDを他のユーザーにプライベートに保ち、さらには自分自身に知られないようにしながら、ユーザーにより個人的でカスタマイズされたエクスペリエンスを提供することになっています。 このプロジェクトでは、このような場合のユーザーエクスペリエンスを向上させる方法を探ります。 ウォレットによる認証/IDチェック 多くのアプリケーションでは、ETHなどの暗号資産を管理するためにMetamaskのようなブロックチェーンウォレットが使用されます。このようなウォレットを使用

  2. Redis用のAzureキャッシュ、エンタープライズ層が一般提供になりました

    今朝、MicrosoftとRedisは共同で、Redis、エンタープライズ層向けのAzureCacheの一般提供を発表しました。このサービスは昨年10月から公開プレビューされており、すでに本番Redisワークロードを顧客に提供しています。 GAリリースは、アクティブなジオレプリケーション(最大99.999%の可用性)のプレビューと、ますます多くのAzureリージョンに展開されている間、回復を伴うディスクの永続性によって強化されています。 エンタープライズ層:ハイライト 次のエンタープライズおよびフラッシュ層の機能が一般的に利用可能になりました: オープンソースのRedis6.0 :