1. A method for processing a data request in a caching system, comprising: receiving a data request; selecting from at least one operational mode based on the data request and a predefined selection algorithm, the at least one operational mode comprising a cache mode 1, a cache mode 2, a parametric programmable cache mode, a cache-thru-memory processing core mode, and a virtualized memory processing core mode; processing the data request if at least one of the cache mode 1, the cache mode 2, and the parametric programmable cache mode is selected; delegating the data request for processing if at least one of the cache-thru-memory processing core mode and the virtualized memory processing core mode is selected; returning a response to the sender; monitoring the selecting activity; analyzing the selecting activity; and dynamically updating the selection algorithm based on the analysis.