## Redis

To run the redis instance locally, you'll need to create a few mount points for the service, as well as set the initial configuration of the service.

1. Create `cache` and `config` folders in the root of the `redis` folder.
2. Inside the config folder, create a redis-stack.conf file, using the below as a starting point, where `>eclipse_pass` is the user credentials which should be changed to something different before usage. The `webdev` user should be used for general cache access, where the `admin` user is used in the Redis Insight explorer for managing the cache after it has been started. The `user default off` line disables anonymous access, which is used to protect the PII data that may be stored in the cache. 

```
maxmemory 500mb
maxmemory-policy allkeys-lru

user webdev +@all -@dangerous +@keyspace ~* on >eclipse_pass
user admin +@all ~* on >eclipse_pass
user default off
```

3. Use `docker compose up -d` to start the Redis stack.

When working with Redis, the connection URL used by the application will resemble `redis://webdev:eclipse_pass@localhost:6379/2`, where `webdev:eclipse_pass` is the credential string, and the `2` at the end of the URL is the database index where data should be stored. By default, Redis has the indexes 0 through 15 available for usage.

To manage the cache remotely in the browser, navigate to http://localhost:8001, where you will be prompted for the `admin` credentials to connect to the database. From there, keys can be managed and cleared as needed, as well as additional tools used for data access insights.