Documentation

Ucommerce includes full API reference documentation and lots of helpful articles to help you build your e-commerce site as effortlessly as possible.

Topics Payment Providers
v7.18

Work with Ucommerce Caching

Ucommerce uses NHibernate and NHibernate Cache.

NHibernate has a 1st level cache per session (always in memory) and a 2nd level cache per factory (provider based).

Ucommerce uses the NHibernate 2nd level Cache for some entities, look at the list below. Ucommerce uses the NHibernate Query cache for some queries, look at the list below.

By default, Ucommerce uses NHibernate SysCache, but this can be changed to another provider if needed. Since SysCache uses the ASP.NET Cache, changing the ASP.NET Cache Provider is also a possibility to change to another cache store.

Ucommerce has 5 distinct cache regions defined.

  • CatalogFoundation
  • MarketingFoundation
  • TransactionFoundation
  • SecurityFoundation
  • Backend

How to clear the cache

Clearing the whole cache can be done with the ICacheProvider

Ucommerce.EntitiesV2.ICacheProvider

Description

Provides functionality for managing caching.

Methods


ClearCache

  • Arguments
    • This method is called without any arguments
  • Return type Void

Ucommerce.EntitiesV2.ICacheProvider.ClearCache

  • Return type Void

Calling the API

    
    var cacheProvider = Ucommerce.Infrastructure.ObjectFactory.Instance.Resolve<Ucommerce.EntitiesV2.ICacheProvider>();
    cacheProvider.ClearCache();
    

How to set the timeout for the cache regions

In web.config the timeout of the different regions can be set.

    
      <syscache>
        <!-- Cache catalog objects for 60 mins before refreshing -->
        <cache region="CatalogFoundation" expiration="3600" priority="5"/>
        <cache region="MarketingFoundation" expiration="3600" priority="5"/>
        <cache region="SecurityFoundation" expiration="3600" priority="5"/>
        <cache region="Backend" expiration="3600" priority="5"/>
      </syscache>
    

How to turn off the cache

The NHibernate Cache can be disabled in web.config

    
      <commerce>
        <runtimeConfiguration enableCache="false"
         ...
      </commerce>
    

This should only be used for troubleshooting and can have severe impact on performance.

What entities do Ucommerce cache in the 2nd level cache?

Note! No Order entities are cached.

CatalogFoundation

  • Category
  • CategoryProductRelation
  • CategoryProperty
  • Currency
  • DataTypeEnumDescription
  • DataTypeEnum
  • DataType
  • DefinitionField
  • DefinitionMap
  • DefinitionTypeDescription
  • DefinitionType
  • PriceGroup
  • ProductCatalogGroup
  • ProductCatalog
  • ProductDefinitionFieldDescription
  • ProductDefinition
  • ProductDescription
  • ProductDescriptionProperty
  • Product
  • ProductProperty
  • ProductRelation
  • ProductRelationType
  • ProductReviewComment
  • ProductReview
  • ProductReviewStatus

MarketingFoundation

  • CampaignItem
  • CampaignItemProperty
  • Campaign
  • Target

TransactionFoundation

  • Country
  • DefinitionFieldDescription
  • EmailContent
  • EmailParameter
  • EmailProfileInformation
  • EmailProfile
  • EmailType
  • OrderStatus
  • PaymentMethodDescription
  • PaymentMethod
  • PaymentStatus
  • ShippingMethodDescription
  • ShippingMethod
  • ShippingMethodPrice

SecurityFoundation

  • Role
  • UserGroup
  • User

Backend

  • AdminPage
  • AdminTab
  • EntityUiDescription
  • EntityUi

What Queries do Ucommerce cache in the Query Cache?

Note! No Order queries are cached.

CatalogFoundation

  • TabsForPageQuery
  • AllCategoriesForCatalogQuery
  • AllCategoriesQuery
  • AllProductDefinitionsQuery
  • AllProductsQuery
  • AllProductTreeViewQuery
  • AllProductVariantTreeViewQuery
  • CategoriesInCatalogQuery
  • CategoriesInCategoryQuery
  • CategoryDefinitionIdQuery
  • CategoryTreeViewByCategoryIdsQuery
  • CategoryTreeViewQuery
  • ChildCategoryQuery
  • FullProductDefinitionsQuery
  • MultipleProductQuery
  • ProductCatalogGroupViewByProductCatalogGroupIdsQuery
  • ProductDefinitionIdQuery
  • ProductsInCategoryQuery
  • ProductTreeViewQuery
  • ProductVariantTreeViewQuery
  • ProductViewByProductIdsQuery
  • ProductViewFromParentProductIdsQuery
  • ProductViewInCategoryQuery
  • RootCategoriesInCatalogQuery
  • SingleCategoryQuery
  • ProductCatalogGroupTargetCatalogGroupsQuery
  • ProductTargetProductsQuery
  • OrderStatusQuery

MarketingFoundation

  • CampaignItemTreeViewByCategoryIdsQuery
  • ActiveCampaignItemsQuery
  • AllApplyTargetsForCampaignItemQuery
  • AllAwardsForCampaignItemQuery
  • AllTargetsForCampaignItemQuery
  • AllVoucherCodesForVoucherTargetQuery

TransactionFoundation

  • DefinitionTreeViewByCategoryIdsQuery
  • SingleBasketQuery
  • SingleOrderQuery

SecurityFoundation

  • AllRolesQuery