9.9 KiB
Retire RedCache
- Usage in the Control Panel
- Cake Cache
- Mapping
- Avro Schemas
- Private Labeling
- Click Tracking
- Throttling
- Verify-Optin Processing
- Unsubscribe / Manage Subscriptions
- Refer a Friend
- Showcased Applications
- Web Form Templates
- Active Lists
- List Twitter Account
- One-Click Unsubscribe
- Web Form Chicklet Images
- Template Gallery
- Blocked Orders
- Flagged Credit Card Numbers
- Message Templates
- Feed Broadcasts
- Preferences
- Subscriber Search Locking
- Lead Editing
- List Settings
- Login Email Verification
- Sift Login Verification
- Application maintenance
- Web Form Generation
- Web Form Serving
- Usage in Verify-Optin
- Usage in Unsubscribe
- Usage in Addlead
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.