This lists the impact on NFRs of the caching solution pattern:
NFRs |
Description |
Availability |
Potentially there is a minor improvement in availability. If the common persistent store fails, some data is still available in the local cache. However, only a subset of functionality is likely to remain available; functions such as ordering require access to the persistent store, not merely to a cache. |
Performance |
Performance is improved by the local availability of data or assets that would otherwise have to be retrieved from a remote store. |
Scalability |
Not affected. |
Security |
We need to consider the type of information being held in the local cache. If the information is sensitive, the introduction of the cache has an adverse impact on security as we have to protect the cache as well as the persistent store. |
Manageability |
There is a negative impact on manageability as we have to manage the cache and any caching parameters that can be 'tuned'. |
Maintainability |
Not affected. |
Flexibility |
Not affected. |
Portability |
Not affected. |
Cost |
The cost of implementing a local cache depends on its sophistication. It is relatively easy to build and maintain a very simple cache, and the cost is minimal. However, an adaptive cache that holds frequently updated information is harder to build and products that perform this function can be expensive to buy. |