Cache Isolation Level (InProc/OutProc)
If your application is running on a server node (the node that is participating in the cluster), you can access the cache either as InProc or OutProc. For InProc, cache lives inside your application process and performs all the clustering operations from there. For OutProc, you have to start the cache independently and then connect to it. Both access modes have their own pros and cons.
InProc mode can give you really fast GET operations since you are accessing all the data from within your own memory space. However, since your application and the cache are sharing the same memory, you may face memory size limitation (in terms of how much you can cache).
Similarly, OutProc has benefit that multiple applications on the same machine can share a common cache. Additionally, since the cache lives in its own memory, you have more memory available to you. But, there is an overhead of transferring data between your application process and the NCache process.
OutProc requires that the objects are marked as Serializable.
Isolation level can be changed for caches of local topology.
It can be done in the following way.
Using NCache Web Manager
Launch NCache Web Manager by browsing to
<server-ip>:8251(Windows + Linux).
In the left navigation bar, click on Local Caches.
Make sure the cache you want to configure is stopped.
- Against the cache name, click on View Details.
This opens up the detailed configuration page for the cache. Go to the Main tab.
Select the Isolation Level for the cache.
- Click on Save Changes to apply these configurations to cache.
Manually Edit NCache Configuration
you can specify the attribute value of
inproc as true (for InProc)
or false (for OutProc):
<cache-config ...> <cache-settings inproc="False"...> </cache-config>
InProc mode is only available for Local cache.