Issue:
feat: add cache for MCA and API key tables.

Add support for in memory and redis cache for Merchant Connector Account and API keys tables to the functions that are frequently called for less latency during payments.

Resolution:
<think>
PR Context:
- Title: feat: add cache for api_key and mca tables
- Merged: 2023-07-07T07:08:21Z
- Files changed: 3 files
- Commits: 10 commits

Implementation approach:
## Type of Change
<!-- Put an `x` in the boxes that apply -->
- [x] Enhancement

## Description
<!-- Describe your changes in detail -->
This PR adds in memory and redis cache for Merchant Connector Account and API keys. To the fetch functions that are frequently called during a payment

This PR closes #1211.

## Motivation and Context
<!--
Why is this change required? What problem does it solve?
If it fixes an open issue, please link to the issue here.

If you don't have an issue
</think>

To implement this, you'll need to modify:


**Detailed Implementation:**


**Commit 1:** feat: add cache for api_key and mca tables (#1212)
Files to modify:


**crates/router/src/db/api_keys.rs**
  Add:
    - function: private::test_api_keys_cache

**crates/router/src/db/merchant_connector_account.rs**
  Add:
    - function: private::test_connector_label_cache
    - mod: private::merchant_connector_account_cache_tests

**crates/storage_models/src/api_keys.rs**
  Modify existing code