Python で Redis を使用するにはどうすればよいですか?次の記事ではPythonでRedisを使う方法を紹介しますので、ぜひ参考にしてください。
以前はRedis
を使用するためにRedis
クライアントを使用していましたが、実際の作業では、ほとんどの場合、以下はすべて # を使用していますコードによる ##Redisエディターは
Pythonに精通しているため、今日は
Pythonの使用方法を学習します。##Redis
。 [関連する推奨事項:Redis ビデオ チュートリアル
]環境の準備
Python3
を推奨します)。
Python
ライブラリがインストールされます (pip install redis
)。
を介して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')))
は接続プールの最後の接続です実行するコマンド。通常、
接続プール
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')))
実際に使用すると、直接接続と接続プールの使用の効果は同じであることがわかりますが、同時実行時には明らかな違いがあります。高い。 。
多くの基本操作の実践
SETコマンドを取り上げます。
形式:
set(名前, 値, ex=なし, px=なし, nx=False, xx=False)# #redis-py の set コマンドのパラメーター:
パラメーター名
我们计划创建一个kv
并且设置其ex
为3
,期待3
秒后此k
的v
会变为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')))
由于 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')))
如上,你会发现
name
的set
未生效,因为name
已经存在于数据库中。而name1
的set
已经生效,因为name1
是之前在数据库中不存在的。
我们计划去重复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')))
以上,就是今天全部的内容,更多信息建议参考
redis
官方文档。
更多编程相关知识,请访问:编程视频!!
以上がPython で Redis を使用する方法の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
有効期限 (分) | px |
有効期限 (ms) | nx |
true の場合、名前のみが存在しません | #xx | ##