SAP Hybris platform和Netweaver的缓存(Cache)设计机制

2021-04-12 04:27

阅读:493

标签:nim   developer   ase   ndk   open   原创   cached   cal   into   

Hybris Cache

(1 )The Hybris Cache is a part of the Hybris persistence layer.

(2) It improves the performance of a single server node by reducing the amount of database queries.

(3) It transparently stores search results, item attributes, and item instances in memory.

技术图片

Hybris cache的目的是为了减少对DB layer的访问.

When Data Is Cached

The Hybris Cache works transparently. Every time the API is accessed, the cache intercepts calls and handles caching implicitly. The following examples present how caching works:

(1) Caching item attributes:

When calling product.getCode(), the underlying data is returned from the cache or, if not yet cached, retrieved and written to the cache.

When calling product.setCode(X), the cached value is removed (invalidated) from the cache, because it is no longer valid.

(2) Caching FlexibleSeach results:

When executing a FlexibleSearch query like SELECT code FROM Product, the result list is cached in the main cache.

When a product is removed, then its item data and the cached FlexibleSearch result for the above query is removed from the cache.

从这一点来说,Hybris platform cache和Netweaver table buffer做的作用一样。在ABAP里,application developer写Open SQL时也从不用去care当前用SELECT读进内表的数据到底是从buffer里读的,还是从DB里读出来的。

技术图片
技术图片

从buffer里读取效率比从DB里高得多:

DATA: ls TYPE crmc_proc_type,
ls2 TYPE comm_product.
SELECT SINGLE * INTO ls FROM crmc_proc_type.
SELECT SINGLE * INTO ls2 FROM comm_product.
单位:微秒

技术图片
技术图片
技术图片
ST02查看Netweaver的table buffer:

技术图片
技术图片

Hybris里在admin console里查看和管理cache:

技术图片

要获取更多Jerry的原创文章,请关注公众号"汪子熙":
技术图片

SAP Hybris platform和Netweaver的缓存(Cache)设计机制

标签:nim   developer   ase   ndk   open   原创   cached   cal   into   

原文地址:https://www.cnblogs.com/sap-jerry/p/12401951.html


评论


亲,登录后才可以留言!