Command caching for marketing

The most resource-intensive part of evaluating a marketing rule is processing the query to return the Service Data Object (SDO) business object. The SDO business object for categories, catalog entries, and marketing content displays in an e-Marketing Spot. Command caching stores the results of earlier queries in cache to take advantage of lower retrieval times in comparison to retrieving results from main storage.

The sample cachespec.xml can be found in the following location:
  • WebSphere Commerce DeveloperWCDE_installdir\samples\dynacache\marketing\
  • WebSphere Commerce EnterpriseWebSphere Commerce - ExpressWebSphere Commerce ProfessionalWC_installdir\samples\dynacache\marketing\

Display Promotion action

If you are using the Display Promotion action, then you must update the cachespec.xml to use the command com.ibm.commerce.marketing.commands.marketingspot.RetrieveContentTaskCmdImpl instead of the command com.ibm.commerce.marketing.commands.marketingspot.FilterContentTaskCmdImpl. If you are not using the Display Promotion action, then you can use the FilterContentTaskCmdImpl command.

Cache entry verification

To verify that cache is receiving data properly check the cache entries in the cache monitor.

Typical cache entry
Template Cache ID Timeout Dependency ID
com.ibm.commerce.marketing. commands.marketingspot. FilterContentTaskCmdImpl com.ibm.commerce.marketing.commands.marketingspot. FilterContentTaskCmdImpl: getCacheKey=10201:getStoreId=10101: getLanguageId=1:getActivityId=11500: getCatalogId=10101:getContracts=11001: getActiveOrg=2000: getExperimentId=:getTestElementId= 10800 dialogMarketingCommand activityId:11500 contentId:10201
If you experience problems after you updating the cachespec.xml file, see Troubleshooting: Caching not working after updating cachespec.xml.

Cached data invalidation

Establish that data is correctly added to the cache; then ensure that the cached data retrieved is not stale or invalid. Command-based invalidation policies in the cachespec.xml file ensure that users of your store are not browsing cached content which is changed in the database. For example, changes such as adding items to a catalog, or changing prices are not reflected in the data that is stored in the cache. For more information, see Cache invalidation.
If the marketing information in the database is updated by using SQL statement, the mass load utility, or staging utilities, then clear all cached information. To clear marketing information in the command cache, business object cache, and JSP caches, select the Marketing registry in the Administration Console Registries page. See Updating registry components.
Feature Pack 5 or laterNote: Clearing the cached information is not required if you use staging utilities to update marketing information and use the e-Marketing Spot JSP caching technique that is based on activity behavior. Clearing the cached information is required when you are using SQL statements and the mass load utility with any caching technique.