I'm just starting out using AppFabric...
My application is in healthcare - we have about 15000 users of the system and they access patient information in bursts (e.g. think of a team of nurses/doctors accessing a patient when they are hospitalized).
What I'd like to do is cache certain items (e.g. patient demographics info) in memory and other items (e.g. labs, medications, diagnostic imaging, reports) on the cache host server. The underlying data comes from various 3rd party systems, some of them extremely slow to return data.
Does anyone know if it is possible to indicate that certain items go into the local cache while others go to the server? There is too much data to all fit into memory. In looking at the MSDN documentation, here is a sample config file.
<dataCacheClient requestTimeout="15000" channelOpenTimeout="3000" maxConnectionsToServer="1">
<localCache isEnabled="true" sync="TimeoutBased" ttlValue="300" objectCount="10000"/>
<clientNotification pollInterval="300" maxQueueLength="10000"/>
<hosts>
<host name="CacheServer1" cachePort="22233"/>
<host name="CacheServer2" cachePort="22233"/>
</hosts>
<securityProperties mode="Transport" protectionLevel="EncryptAndSign" />
<transportProperties connectionBufferSize="131072" maxBufferPoolSize="268435456"
maxBufferSize="8388608" maxOutputDelay="2" channelInitializationTimeout="60000"
receiveTimeout="600000"/>
</dataCacheClient>
It looks like enabling local cache enables for the entire cache client?
To support the scenario I describe, does this mean I'll have to create two cache clients and my code will have to know / be aware of which cache client to put data into? Or is there an API/flag/parameter I can use at time of storing data into the cache? Or perhaps, handled by using Regions/Tags?
Thanks!