Python で Redis を使用する方法の簡単な分析

青灯夜游
リリース: 2021-11-22 19:22:54
転載
2425 人が閲覧しました

Python で Redis を使用するにはどうすればよいですか?次の記事ではPythonでRedisを使う方法を紹介しますので、ぜひ参考にしてください。

Python で Redis を使用する方法の簡単な分析

以前はRedisを使用するためにRedisクライアントを使用していましたが、実際の作業では、ほとんどの場合、以下はすべて # を使用していますコードによる ##RedisエディターはPythonに精通しているため、今日はPythonの使用方法を学習します。##Redis。 [関連する推奨事項:Redis ビデオ チュートリアル]環境の準備

    Redis
  • まず、Redis をインストールする必要があります。
  • Python
  • がインストールされています (Python3を推奨します)。
  • Redis
  • Pythonライブラリがインストールされます (pip install redis)。
  • 練習を始める

試してみる

例:

Python

を介してRedisに接続する予定です。次に、kvを記述し、最後にクエリされたvを出力します。直接接続

#!/usr/bin/python3 import redis # 导入redis模块 r = redis.Redis(host='localhost', port=6379, password="pwd@321", decode_responses=True) # host是redis主机,password为认证密码,redis默认端口是6379 r.set('name', 'phyger-from-python-redis') # key是"name" value是"phyger-from-python-redis" 将键值对存入redis缓存 print(r['name']) # 第一种:取出键name对应的值 print(r.get('name')) # 第二种:取出键name对应的值 print(type(r.get('name')))
ログイン後にコピー

Python で Redis を使用する方法の簡単な分析

Python で Redis を使用する方法の簡単な分析

##get
は接続プールの最後の接続です実行するコマンド。

接続プール

通常、

redis

に接続する必要がある場合、接続が作成され、

redis操作が実行されます。この接続に基づいて実行されます。操作が完了したら解放します。通常の状況ではこれは問題ありませんが、同時実行の量が多い場合、頻繁な接続の作成と解放がパフォーマンスに大きな影響を与えるため、接続プールが機能します。コネクションプールの原理: 事前に複数のコネクションを作成しておき、redis

操作を行う際には、既に作成されているコネクションを直接取得して操作します。完了後、接続は解放されませんが、後続の

redis操作のために接続プールに戻されます。これにより、継続的な作成とリリースが回避され、パフォーマンスが向上します。

#!/usr/bin/python3 import redis,time # 导入redis模块,通过python操作redis 也可以直接在redis主机的服务端操作缓存数据库 pool = redis.ConnectionPool(host='localhost', port=6379, password="pwd@321", decode_responses=True) # host是redis主机,需要redis服务端和客户端都起着 redis默认端口是6379 r = redis.Redis(connection_pool=pool) r.set('name', 'phyger-from-python-redis') print(r['name']) print(r.get('name')) # 取出键name对应的值 print(type(r.get('name')))
ログイン後にコピー

Python で Redis を使用する方法の簡単な分析実際に使用すると、直接接続と接続プールの使用の効果は同じであることがわかりますが、同時実行時には明らかな違いがあります。高い。 。

基本操作の実践

多くの

Redis

コマンドについて、例として

SETコマンドを取り上げます。形式:

set(名前, 値, ex=なし, px=なし, nx=False, xx=False)# #redis-py の set コマンドのパラメーター:

パラメーター名

ex

我们计划创建一个kv并且设置其ex3,期待3秒后此kv会变为None

#!/usr/bin/python3 import redis,time # 导入redis模块,通过python操作redis 也可以直接在redis主机的服务端操作缓存数据库 pool = redis.ConnectionPool(host='localhost', port=6379, password="pwd@321", decode_responses=True) # host是redis主机,需要redis服务端和客户端都起着 redis默认端口是6379 r = redis.Redis(connection_pool=pool) r.set('name', 'phyger-from-python-redis',ex=3) print(r['name']) # 应当有v time.sleep(3) print(r.get('name')) # 应当无v print(type(r.get('name')))
ログイン後にコピー

Python で Redis を使用する方法の簡単な分析

nx

由于 px 的单位太短,我们就不做演示,效果和 ex 相同。

我们计划去重复set前面已经set过的name,不出意外的话,在nx为真时,我们将会set失败。但是人如果set不存在的name1,则会成功。

#!/usr/bin/python3 import redis,time # 导入redis模块,通过python操作redis 也可以直接在redis主机的服务端操作缓存数据库 pool = redis.ConnectionPool(host='localhost', port=6379, password="pwd@321", decode_responses=True) # host是redis主机,需要redis服务端和客户端都起着 redis默认端口是6379 r = redis.Redis(connection_pool=pool) r.set('name', 'phyger-0',nx=3) # set失败 print(r['name']) # 应当不生效 r.set('name1', 'phyger-1',nx=3) # set成功 print(r.get('name1')) # 应当生效 print(type(r.get('name')))
ログイン後にコピー

Python で Redis を使用する方法の簡単な分析

如上,你会发现nameset未生效,因为name已经存在于数据库中。而name1set已经生效,因为name1是之前在数据库中不存在的。

xx

我们计划去重复set前面已经set过的name,不出意外的话,在nx为真时,我们将会set成功。但是人如果set不存在的name2,则会失败。

#!/usr/bin/python3 import redis,time # 导入redis模块,通过python操作redis 也可以直接在redis主机的服务端操作缓存数据库 pool = redis.ConnectionPool(host='localhost', port=6379, password="pwd@321", decode_responses=True) # host是redis主机,需要redis服务端和客户端都起着 redis默认端口是6379 r = redis.Redis(connection_pool=pool) r.set('name', 'phyger-0',xx=3) # set失败 print(r['name']) # 应当变了 r.set('name2', 'phyger-1',xx=3) # set成功 print(r.get('name2')) # 应当没有set成功 print(type(r.get('name')))
ログイン後にコピー

Python で Redis を使用する方法の簡単な分析

以上,就是今天全部的内容,更多信息建议参考redis官方文档。

更多编程相关知识,请访问:编程视频!!

以上がPython で Redis を使用する方法の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:juejin.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!
解釈 ex ## true の場合、現在の設定操作は、name が存在する場合にのみ実行されます。 #
有効期限 (分) px
有効期限 (ms) nx
true の場合、名前のみが存在しません #xx