ホームページ >データベース >Redis >PythonでRedisメッセージキューを操作する方法

PythonでRedisメッセージキューを操作する方法

WBOY
WBOY転載
2023-05-28 12:55:311806ブラウズ

redis は Key-Value データベースです。値は文字列 (文字列)、リスト (リスト)、セット (コレクション)、zset (順序付きセット)、ハッシュ (ハッシュ タイプ) およびその他の型をサポートします。

Redis サービス

  1、安装

  yum install redis

  2、 python安装支持模块

  /opt/python2.7.13/bin/pip install redis

  3、 和redis的简单直接交互

  In [1]: import redis

  In [2]: rc = redis.Redis(host='192.168.8.237',port=6379,decode_responses=True)

  In [5]: rc.set('imoocc','jeson')

  Out[5]: True

  In [7]: rc.get('imoocc')

  Out[7]: u'jeson'

Redis の簡単な操作

Redis クラスで提供される接続プール メソッドを使用して、Redis インタラクションを管理および操作できます。

  1、连接池建立,利用连接池连接

  In [8]: connpool = redis.ConnectionPool(host='192.168.8.237',port=6379,decode_responses=True)

  In [9]: rc = redis.Redis(connection_pool=connpool)

  In [10]: rc.set('imooccp','1234566')

  Out[10]: True

  In [11]: rc.get('imooccp')

  Out[11]: u'1234566'  2、redis中DB ,指定数据存取的DB

  redis.conf中设置了db的数量,那么redis的数据库名也为0 到15,如下:

  databases 16

  指定使用那个数据库名,我们通过如下的方式,就可以了:

  In [29]: connpool = redis.ConnectionPool(host='192.168.8.237',port=6379,decode_responses=True,db=3)

  In [30]: rc.set('test2','lllll')

  Out[30]: True

  这样就将数据库写入到db3了,如何验证呢?我们从服务端来认证最直接,如下:

  用redis-cli(redis自带的工具)登录服务端,查看写入的key。

  127.0.0.1:6379> SELECT 3

  OK

  127.0.0.1:6379[3]> KEYS * //查看db 3这个库下所有的key

  1) "imooccc"

それでは、redis のプロジェクトの具体的な使い方を紹介していきます。

最近私はタスク システムに取り組んでいます。タスクの書き込みは不規則です。これらのタスクを定期的に消費するにはプログラムを使用する必要があります。シーケンスが必要であり、前のタスクの実行が確認されてからでなければなりません。次に進みます。

何をすべきですか?キューを使用しますよね!どのキューを使用し、どのように使用するのですか?

メッセージ処理に Redis が使用される理由を紹介します:

簡単に言うと、つまり、Redis はパブリッシュ/サブスクライブ モデルという 2 つの消費モデルをサポートしており、メッセージは複数のコンシューマーによって処理されます (簡単に言えば、ブロードキャスト メッセージのようなもので、全員がそれを受信します)。明らかに、このアプローチは私のシステムには適用できません。代わりに、到着した順にタスクに優先順位を付けるために、システムはキュー モードを採用する必要があります。それでは、キューを作成するにはどのようなタイプのデータベース構造を使用する必要がありますか?

最初にリストについて話しましょう

list このデータ型は、Python ではリストであり、redis (またはデータリンク) では順序付きキューです。リスト)。

型図は次のとおりです: PythonでRedisメッセージキューを操作する方法

この構造を見れば誰でも理解できるでしょう。リストのデータ インターフェイス モードを使用して、リストに追加できる要素を設計できます。リストの左端と右端からの同方向処理(キューの特性を満たす先出し先出し)

えええええ

以上がPythonでRedisメッセージキューを操作する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。