roam/aweber/20220609145347-retire_redcache.org
2022-06-20 14:41:31 -04:00

9.9 KiB

Retire RedCache

The goal of this initiative is to identify uses of the shared RedCache servers and eliminate them. If a key/value store is required, use a sidecar redis or memcached instance as appropriate.

Any keys that will require cross-team coordination to remove should be documented in the RedCache Inventory page in Confluence.

Usage in the Control Panel

Cake Cache

The default Cake framework cache engine for the application is configured to use RedCache.

Mapping

The Mapping component caches mapping lookups.

Avro Schemas

The Avro component caches schema documents.

Private Labeling

A script to purge the private label cache exists, though it does not appear to be used.

Private labeling is no longer used in the CP.

Click Tracking

The Click tracking component caches tracking url lookups in AppDB.

Throttling

The Throttler component uses cache keys with a TTL to rate-limit various actions in the CP including logins. An older Throttle component also exists with references to redcache, but appears unused.

Verify-Optin Processing

The VO Processor component uses the aweber_app_db_down cache key to determine whether the control panel is under scheduled maintenance.

This component also resides separately in the Verify-Optin project, doing the same thing, and should be removed from the sites repository.

Unsubscribe / Manage Subscriptions

The Manage Subscriptions page uses the aweber_app_db_down cache key to determine whether the control panel is under scheduled maintenance.

This component also resides separately in the Unsubscribe project, doing the same thing, and should be removed from the sites repository.

Refer a Friend

The Refer a Friend component uses the refer_a_friend:access_token key to store and verify an access token.

Showcased Applications

The Application model caches the number of customers using each application from queries to AppDB for six hours.

Web Form Templates

The Web Form Template Category model caches the top ten web form template families using the template_directory_web_form_popular key.

Active Lists

The Auto Responder model caches the active lists for an account using the key format aweber_app_lists_{$a_id}_{$aServId}, where $a_id is the integer account ID and $aServId is an integer list ID or false.

List Twitter Account

The Vendor Account List model clears the twitter account on a list using the key format orm.list.by_id.$listId.twitter_account. It is unclear what sets that key.

One-Click Unsubscribe

The One-click remove handler uses the aweber_app_db_down cache key to determine whether the control panel is under scheduled maintenance.

Web Form Chicklet Images

The Web form chicklet image handler caches image data stored in AppDB using the key format aweber_app_chicklet_$id where $id is the integer ID of the chicklet image.

Template Gallery

The Template Gallery view helper caches email templates from the Template Directory Service using the template_directory_{$type}_family_data key format, where $type is web_form or block.

Blocked Orders

The Order controller checks and stores IP addresses for blocking orders with the key pattern orders_blocked_for_{$_SERVER['REMOTE_ADDR']}

Flagged Credit Card Numbers

The Order controller retrieves flagged credit card numbers using the key aweber_app_flagged_cc_bins. Used to check the first six digits of a card for flagging.

Message Templates

The Message Templates controller clears the key template_directory_block_family_data when a message template is saved.

Feed Broadcasts

The Feed Broadcasts controller tracks feed gearman job status by setting and retrieving the redis key patterns aweber_app_process_feed_{$sid}_complete and aweber_app_process_feed_{$sid}_status, where $sid is the current session ID.

Preferences

The Preferences controller component stores and retrieves account-level preferences using the key pattern aweber_app_{$namespace}_cp_preference_{$aId}.

Subscriber Search Locking

The Search Mutex controller component sets and clears a lock preventing concurrent searches within an account using the key pattern subscriber_search_lock_{$accountId}.

Lead Editing

The Leads controller checks for blocked emails and email domains using the key patterns 0-$email and 0-$domain.

List Settings

The Settings controller clears cached list settings using the key pattern aweber_app_{$namespace}_remove_options_{$list_id}, where $namespace is the value retrieved from the key aweber_app_remove_options_namespace.

Login Email Verification

The Account controller stores an email verification token using the key pattern login_email:verification_token:{$user['id']}

Sift Login Verification

The Account controller stores a flag allowing previously verified logins to bypass the Sift score check using the key pattern login_verification:verified_bypass:{$login}:{$ipAddress}.

Application maintenance

The App controller uses the aweber_app_db_down cache key to determine whether the control panel is under scheduled maintenance.

Web Form Generation

The Web Form Generator component stores and retrieves web form settings using the key pattern {$namespace}_web_form_{$webFormId}{$type} where $namespace is the value retrieved from the key aweber_app_web_form_namespace, and type is one of the following:

  • _js (JavaScript)
  • s_js (split JavaScript)
  • _htm
  • _html

Web Form Serving

The Web Form Server component caches web form split tests loaded from AppDB using the key format aweber_app_{$namespace}_web-form_split_{$split_id} where $namespace is the value retrieved from the key aweber_app_web_form_namespace.

Usage in Verify-Optin

Control Panel Maintenance

The VO Processor component uses the aweber_app_db_down cache key to determine whether the control panel is under scheduled maintenance.

Usage in Unsubscribe

Control Panel Maintenance

The Manage Subscriptions page uses the aweber_app_db_down cache key to determine whether the control panel is under scheduled maintenance.

Usage in Addlead

Control Panel Maintenance

Uses the aweber_app_db_down cache key to determine whether the control panel is under scheduled maintenance.