目次
1. 説明
2. インストール
3. 構成
3.1 redis の構成
Django のデフォルトのセッションは SQL データベースに保存されますが、通常のデータはハードディスクに保存されることは誰もが知っており、速度はそれほど速くありませんRedis に保存されるように変更したい場合は、設定ファイルで設定するだけです
接続タイムアウトの秒数SOCKET_CONNECT_TIMEOUT は接続を示します redis のタイムアウト、SOCKET_TIMEOUT は redis
デフォルトの redis を使用する場合、つまり、設定ファイルに設定されたエイリアス「default」を持つ redis は、django.core.cache
4.2 のキャッシュを参照できます。指定した redis (ネイティブ redis) を使用します
クライアントが取得したものであることに注意してくださいget_redis_connection() 経由はネイティブ Redis クライアントですが、基本的にはすべてネイティブ Redis コマンドがサポートされていますが、返されるデータはバイト型であるため、自分でデコードする必要があります
ホームページ データベース Redis ジャンゴredisの使い方

ジャンゴredisの使い方

Jun 03, 2023 pm 02:53 PM
redis django

1. 説明

Redis はキャッシュ データベースとしてあらゆる面で大きな役割を果たします。Python は Redis の操作をサポートしています。Django を使用する場合は、Django 用に特別に設計された Redis ライブラリ、つまり django- があります。 redis

2. インストール

1

pip install django-redis

ログイン後にコピー

3. 構成

3.1 redis の構成

Django 構成ファイル (setting.py など) を開き、CACHES を設定します。その中のItem

1

2

3

4

5

6

7

8

9

CACHES = {

    "default": {

        "BACKEND": "django_redis.cache.RedisCache",

        "LOCATION": "redis://127.0.0.1:6379/1",

        "OPTIONS": {

            "CLIENT_CLASS": "django_redis.client.DefaultClient",

        }

    }

}

ログイン後にコピー

複数のredis接続情報を1つのCACHEに設定できます。それぞれに独自のエイリアス(alias)があります。上記の「デフォルト」はエイリアスです。その際、異なるredisに接続できます異なるエイリアスによるデータベース

LOCATION は、IP ポートのユーザー パスワードなどを含む接続情報です。ユーザー パスワードが必要ない場合は、省略できます。django-redis は、次の 3 つの接続プロトコルをサポートします。

##redis://通常の TCP スイート インターフェイス接続 redissrediss://3.2 redis を使用してセッションを保存する
プロトコル説明
#redis://[[ユーザー名]:[パスワード]]@localhost:6379/0
SSL モード TCP ソケット接続rediss://[[ユーザー名]:[パスワード]]@localhost:6379/0
Unix ドメイン ソケット接続unix://[[ユーザー名]:[パスワード]]@/path/to/socket.sock?db=0

Django のデフォルトのセッションは SQL データベースに保存されますが、通常のデータはハードディスクに保存されることは誰もが知っており、速度はそれほど速くありませんRedis に保存されるように変更したい場合は、設定ファイルで設定するだけです

1

2

SESSION_ENGINE = "django.contrib.sessions.backends.cache"

SESSION_CACHE_ALIAS = "default"

ログイン後にコピー

3.3 redis 接続タイムアウト設定

接続タイムアウトの秒数SOCKET_CONNECT_TIMEOUT は接続を示します redis のタイムアウト、SOCKET_TIMEOUT は redis

1

2

3

4

5

6

7

8

9

CACHES = {

    "default": {

        # ...

        "OPTIONS": {

            "SOCKET_CONNECT_TIMEOUT": 5,  # 连接redis超时时间,单位为秒

            "SOCKET_TIMEOUT": 5,  # redis读写操作超时时间,单位为秒

        }

    }

}

ログイン後にコピー

4 を使用した読み取りおよび書き込み操作のタイムアウトを表します。

デフォルトの redis を使用する場合、つまり、設定ファイルに設定されたエイリアス「default」を持つ redis は、django.core.cache

1

2

3

4

from django.core.cache import cache

 

cache.set("name", "冰冷的希望", timeout=None)

print(cache.get("name"))

ログイン後にコピー

4.2 のキャッシュを参照できます。指定した redis (ネイティブ redis) を使用します

設定ファイルに複数の redis 接続が記述されている場合、エイリアスを通じてどの redis を使用するかを指定できます

1

2

3

4

5

from django_redis import get_redis_connection

 

redis_conn = get_redis_connection("chain_info")

redis_conn.set("name", "icy_hope")

print(redis_conn.get("name"))

ログイン後にコピー

クライアントが取得したものであることに注意してくださいget_redis_connection() 経由はネイティブ Redis クライアントですが、基本的にはすべてネイティブ Redis コマンドがサポートされていますが、返されるデータはバイト型であるため、自分でデコードする必要があります

#5. 接続プール

接続プールを使用する利点は、接続オブジェクトを管理する必要がないことです。接続オブジェクトが自動的に作成され、可能な限り再利用されるため、パフォーマンスが比較的向上します。

5.1 設定接続プール

接続プールを使用するには、まず Django 設定ファイルに最大接続プール サイズを書き込みます。接続数

1

2

3

4

5

6

7

8

9

CACHES = {

    "default": {

        "BACKEND": "django_redis.cache.RedisCache",

        ...

        "OPTIONS": {

            "CONNECTION_POOL_KWARGS": {"max_connections": 100}

        }

    }

}

ログイン後にコピー

5.2 接続プールの使用

決定できます。接続エイリアスを介して使用する Redis を指定し、通常どおりコマンドを実行します。作成される接続インスタンスについて気にする必要はありませんが、connection_pool の _created_connections 属性を使用して、現在作成されている接続インスタンスの数を確認します

1

2

3

4

5

6

7

8

9

from django_redis import get_redis_connection

 

redis_conn = get_redis_connection("default")

redis_conn.set("name", "冰冷的希望")

print(redis_conn.get("name"))

 

# 查看目前已创建的连接数量

connection_pool = redis_conn.connection_pool

print(connection_pool._created_connections)

ログイン後にコピー

5.3 カスタム接続プール

Django-redis のデフォルトの接続クラスは DefaultClient ですが、より高度なカスタマイズ要件がある場合は、独自の新しいクラスを作成して ConnectionPool

1

2

3

4

from redis.connection import ConnectionPool

 

class MyPool(ConnectionPool):

    pass

ログイン後にコピー
# を継承できます。 ##このクラスを取得したら、Django 構成ファイルで指定する必要があります

1

2

3

"OPTIONS": {

    "CONNECTION_POOL_CLASS": "XXX.XXX.MyPool",

}

ログイン後にコピー

以上がジャンゴredisの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Redisクラスターモードの構築方法 Redisクラスターモードの構築方法 Apr 10, 2025 pm 10:15 PM

Redisクラスターモードは、シャードを介してRedisインスタンスを複数のサーバーに展開し、スケーラビリティと可用性を向上させます。構造の手順は次のとおりです。異なるポートで奇妙なRedisインスタンスを作成します。 3つのセンチネルインスタンスを作成し、Redisインスタンスを監視し、フェールオーバーを監視します。 Sentinel構成ファイルを構成し、Redisインスタンス情報とフェールオーバー設定の監視を追加します。 Redisインスタンス構成ファイルを構成し、クラスターモードを有効にし、クラスター情報ファイルパスを指定します。各Redisインスタンスの情報を含むnodes.confファイルを作成します。クラスターを起動し、CREATEコマンドを実行してクラスターを作成し、レプリカの数を指定します。クラスターにログインしてクラスター情報コマンドを実行して、クラスターステータスを確認します。作る

Redisデータをクリアする方法 Redisデータをクリアする方法 Apr 10, 2025 pm 10:06 PM

Redisデータをクリアする方法:Flushallコマンドを使用して、すべての重要な値をクリアします。 FlushDBコマンドを使用して、現在選択されているデータベースのキー値をクリアします。 [選択]を使用してデータベースを切り替え、FlushDBを使用して複数のデータベースをクリアします。 DELコマンドを使用して、特定のキーを削除します。 Redis-CLIツールを使用してデータをクリアします。

Redisキューの読み方 Redisキューの読み方 Apr 10, 2025 pm 10:12 PM

Redisのキューを読むには、キュー名を取得し、LPOPコマンドを使用して要素を読み、空のキューを処理する必要があります。特定の手順は次のとおりです。キュー名を取得します:「キュー:キュー」などの「キュー:」のプレフィックスで名前を付けます。 LPOPコマンドを使用します。キューのヘッドから要素を排出し、LPOP Queue:My-Queueなどの値を返します。空のキューの処理:キューが空の場合、LPOPはnilを返し、要素を読む前にキューが存在するかどうかを確認できます。

Centos RedisでLUAスクリプト実行時間を構成する方法 Centos RedisでLUAスクリプト実行時間を構成する方法 Apr 14, 2025 pm 02:12 PM

Centosシステムでは、Redis構成ファイルを変更するか、Redisコマンドを使用して悪意のあるスクリプトがあまりにも多くのリソースを消費しないようにすることにより、LUAスクリプトの実行時間を制限できます。方法1:Redis構成ファイルを変更し、Redis構成ファイルを見つけます:Redis構成ファイルは通常/etc/redis/redis.confにあります。構成ファイルの編集:テキストエディター(VIやNANOなど)を使用して構成ファイルを開きます:sudovi/etc/redis/redis.conf luaスクリプト実行時間制限を設定します。

Redisコマンドラインの使用方法 Redisコマンドラインの使用方法 Apr 10, 2025 pm 10:18 PM

Redisコマンドラインツール(Redis-Cli)を使用して、次の手順を使用してRedisを管理および操作します。サーバーに接続し、アドレスとポートを指定します。コマンド名とパラメーターを使用して、コマンドをサーバーに送信します。ヘルプコマンドを使用して、特定のコマンドのヘルプ情報を表示します。 QUITコマンドを使用して、コマンドラインツールを終了します。

Redisカウンターを実装する方法 Redisカウンターを実装する方法 Apr 10, 2025 pm 10:21 PM

Redisカウンターは、R​​edisキー価値ペアストレージを使用して、カウンターキーの作成、カウントの増加、カウントの減少、カウントのリセット、およびカウントの取得など、カウント操作を実装するメカニズムです。 Redisカウンターの利点には、高速速度、高い並行性、耐久性、シンプルさと使いやすさが含まれます。ユーザーアクセスカウント、リアルタイムメトリック追跡、ゲームのスコアとランキング、注文処理などのシナリオで使用できます。

Redisの有効期限ポリシーを設定する方法 Redisの有効期限ポリシーを設定する方法 Apr 10, 2025 pm 10:03 PM

Redisデータの有効期間戦略には2つのタイプがあります。周期削除:期限切れのキーを削除する定期的なスキャン。これは、期限切れの時間帯-remove-countおよび期限切れの時間帯-remove-delayパラメーターを介して設定できます。怠zyな削除:キーが読み取られたり書かれたりした場合にのみ、削除の有効期限が切れたキーを確認してください。それらは、レイジーフリーレイジーエビクション、レイジーフリーレイジーエクスピア、レイジーフリーラジーユーザーのパラメーターを介して設定できます。

Debian Readdirのパフォーマンスを最適化する方法 Debian Readdirのパフォーマンスを最適化する方法 Apr 13, 2025 am 08:48 AM

Debian Systemsでは、Directoryコンテンツを読み取るためにReadDirシステム呼び出しが使用されます。パフォーマンスが良くない場合は、次の最適化戦略を試してください。ディレクトリファイルの数を簡素化します。大きなディレクトリをできる限り複数の小さなディレクトリに分割し、Readdirコールごとに処理されたアイテムの数を減らします。ディレクトリコンテンツのキャッシュを有効にする:キャッシュメカニズムを構築し、定期的にキャッシュを更新するか、ディレクトリコンテンツが変更されたときに、頻繁な呼び出しをreaddirに削減します。メモリキャッシュ(memcachedやredisなど)またはローカルキャッシュ(ファイルやデータベースなど)を考慮することができます。効率的なデータ構造を採用する:ディレクトリトラバーサルを自分で実装する場合、より効率的なデータ構造(線形検索の代わりにハッシュテーブルなど)を選択してディレクトリ情報を保存およびアクセスする

See all articles