---
schema_version: "1"
id: 60e3651a984aec433d1df0d03c7a7fdfaa566dfdce310b322aeea7714cfe1048
title: ワーカー間でのデータ共有とキャッシュの設定
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/pdk/1.2/policies-pdk-configure-features-caching.md
canonical_url: https://docs.mulesoft.com/jp/pdk/1.2/policies-pdk-configure-features-caching
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 908ea357e27ba23eec341f2301c402ec9c8dca3d9d1f29e8d188533436d3ec94
description: MuleSoft Documentation Site
release: "1.2"
latest: false
---
# ワーカー間でのデータ共有とキャッシュの設定

<table><tbody><tr><td class="icon"><i class="fa icon-note" title="Note"></i></td><td class="content">キャッシングを使用するポリシープロジェクトの例は、 <a href="https://github.com/mulesoft/pdk-custom-policy-examples/blob/1.2.0/data-caching/README.md" target="_blank" rel="noopener">「データキャッシングポリシーの例」</a>​を参照してください。</td></tr></tbody></table>

Envoy は、ポリシーの要求処理能力を高めるために多くのワーカーを生成します。1 つのワーカーが、発信接続や応答フローなど、特定の要求のすべてのフェーズを処理します。これにより、特定の要求の内部ステータスを追跡したり、基盤となるイベント駆動型の実装には関係なく、逐次的な実行フローを作成したりできます。

各ワーカーは与えられた時間内に 1 つの要求を処理します。特定のワーカーでグローバルな状態を共有するには、同時変更のリスクがない ​`RefCell`​ を使用します。

用意されている​`キャッシュ`​メカニズムを使用して、すべてのワーカーで共有されるグローバル状態を作成します。

キャッシュビルダーを挿入したら、キャッシュの ID とキャッシュがサポートする要素の最大数を指定します。

次の例では、10 個の要素を保持できるキャッシュを設定しています。

```Rust
#[entrypoint]
async fn configure(
    launcher: Launcher,
    cache_builder: CacheBuilder,
) -> Result<()> {
    let cache = cache_builder.new(String::from("caching")).max_entries(10);
    ...
```

キャッシュは以下のインターフェースを持ちます。

```Rust
pub trait Cache {
    fn save(&self, key: &str, value: Vec<u8>) -> Result<(), CacheError>;
    fn get(&self, key: &str) -> Option<Vec<u8>>;
    fn delete(&self, key: &str) -> Option<Vec<u8>>;
    fn purge(&self);
}
```

<table><tbody><tr><td class="icon"><i class="fa icon-important" title="Important"></i></td><td class="content">異なるワーカーが同時にキャッシュに書き込むため、キャッシュを保存するときに上書きされる値が、取得したときと同じであるという保証はありません。</td></tr></tbody></table>

## [](#関連情報)関連情報

- [Rust でのカスタムポリシー機能の実装](https://docs.mulesoft.com/jp/pdk/1.2/policies-pdk-configure-features)