---
title: Configuring Trust Framework attribute caching for development
description: While building and testing policies in a development environment, you can define an external attribute cache for the Trust Framework.
component: pingauthorize
version: 11.0
page_id: pingauthorize:pingauthorize_server_administration_guide:paz_tf_attribute_cache_external
canonical_url: https://docs.pingidentity.com/pingauthorize/11.0/pingauthorize_server_administration_guide/paz_tf_attribute_cache_external.html
revdate: May 22, 2024
section_ids:
  about-this-task: About this task
  steps: Steps
  example: Example:
  example-2: Example:
  example-3: Example:
  example-4: Example:
  example-5: Example:
---

# Configuring Trust Framework attribute caching for development

While building and testing policies in a development environment, you can define an external attribute cache for the Trust Framework.

## About this task

When you set the Policy Decision Service to external policy decision point (PDP) mode, the Policy Editor is configured by default to cache attribute values in memory on the PingAuthorize Server (for any attributes with a [defined caching strategy](../pingauthorize_policy_administration_guide/paz_attr_caching.html)). Alternatively, you can define an external attribute cache using Redis by configuring the `options.yml` file. The available Redis modes include:

* Single Redis instance

* Single Redis instance using TLS

* Replicated Redis

* Redis Sentinel

* Amazon Web Services (AWS) ElastiCache Redis

![Screen capture of the Redis mode options for embedded PDP mode with the single Redis instance configuration highlighted](_images/dld1670853034070.png)

## Steps

1. Make a copy of the default options file:

   ### Example:

   ```shell
   $ cp config/options.yml my-options.yml
   ```

2. In the `cache` section of the new options file, uncomment the line `provider: redis` to enable the Redis caching options.

3. Uncomment the desired Redis `cacheConfig` block and modify it to reflect your Redis instance settings.

   ### Example:

   ```
   cache:
     provider:redis
     cacheConfig:
       mode: single_instance
       nodeAddresses: redis://localhost:6379
   #   username: <optional>
   #   password: <optional>
   ```

   1. **Optional:** Uncomment `username` and `password` and add the appropriate values.

4. Stop the Policy Editor:

   ### Example:

   ```shell
   $ bin/stop-server
   ```

5. Run `setup` using the `--optionsFile` argument and customize all other options as appropriate for your needs:

   ### Example:

   ```shell
   $ bin/setup demo \
     --adminUsername admin \
     --generateSelfSignedCertificate \
     --decisionPointSharedSecret pingauthorize \
     --hostname  <pap-hostname>  \
     --port  <pap-port>  \
     --adminPort  <admin-port>  \
     --licenseKeyFile  <path-to-license>  \
     --optionsFile my-options.yml
   ```

6. Start the Policy Editor:

   ### Example:

   ```shell
   $ bin/start-server
   ```
