Cache Isolation Level (InProc/OutProc)
If your application runs on a server node (a node that is participating in the cluster), you can access the cache either as InProc or OutProc. For InProc, the 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.
The InProc mode gives 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 limitations (in terms of how much you can cache).
Similarly, OutProc has the benefit of multiple applications on the same machine sharing a common cache. Additionally, since the cache lives in its own memory, you have more memory available to you. However, there is an overhead of transferring data between your application process and the NCache process.
Note
This feature is also available in NCache Professional.
OutProc requires all objects to be marked as Serializable.
Important
The isolation level can be changed for caches of local topology.
Using the NCache Management Center
Launch the NCache Management Center by browsing to http://localhost:8251 or
<server-ip>:8251
on Windows and Linux.In the left navigation bar, click on Local Caches.
Important
Ensure 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 Save Changes to apply these configurations to the cache.
Manually Edit the NCache Configuration
In config.ncconf, you can specify the attribute value of inproc
as true (for InProc) or false (for OutProc):
<cache-config ...>
<cache-settings inproc="False"...>
</cache-config>
Note
InProc mode is only available for Local cache.
See Also
Cache Size
Cache Data Expiration
Error Logging
Management Operations