Add/Update Cache Data with Groups
NCache allows the user to add an item in the data cache with a certain group. There can only be a single item associated with a single group. CacheItem
is a custom class provided by NCache which can be used to add data to the cache. CacheItem
also lets you set additional specifications associated with an object as a property
of groups.
CacheItem
is added to the cache using the Insert
method, a recommended approach with the group if no item already exists in the cache with the specified key. Whereas the Add
operation fails if the key already exists and an exception will be thrown.
Prerequisites Add/Update Groups in Data Cache
- To learn about the standard prerequisites required to work with all NCache client-side features, please refer to the given page on Client-Side API Prerequisites.
- Custom classes/searchable attributes must be indexed as explained in Configuring Query Indexes.
- For API details, refer to: ICache, CacheItem, Add, Insert, Group, GetCacheItem.
In the following example, the data group is set by assigning it as a property of CacheItem
containing the object customer.
// Preconditions: Cache is already connected
// In an online-store, customers from different regions need to be grouped accordingly
// A customer has signed in to the website from the East Coast region
// Create a unique cache key for this customer.
string customerKey = $"Customer:ALFKI";
// Get customer from cache
Customer customer = cache.Get<Customer>(customerKey);
// Get customer from database if not found in cache
if (customer == null)
{
customer = FetchCustomerFromDB("ALFKI");
// Create a new CacheItem
var cacheItem = new CacheItem(customer);
// Specify the group
cacheItem.Group = "East Coast Customers";
// Add customer object to cache with group
cache.Add(customerKey, cacheItem);
}
Note
To ensure the operation is fail-safe, it is recommended to handle any potential exceptions within your application, as explained in Handling Failures.
Update Group of a CacheItem
The data group of a CacheItem
can also be updated. A CacheItem
is a custom class provided by NCache that can be used to add data to the data cache. The CacheItem
also lets you set the group as a property
of the CacheItem
.
The following example updates the group in a CacheItem
.
// A customer has signed in to the website from a different region, i.e., West Coast
string customerKey = $"Customer:ALFKI";
// Retrieve the cacheItem from the cache
var cacheItem = cache.GetCacheItem(customerKey);
// Specify the new group to be updated
cacheItem.Group = "West Coast Customers";
// Reinsert the cacheItem in the cache with updated groups
cache.Insert(customerKey, cacheItem);
Additional Resources
NCache provides a sample application for Groups on GitHub.
See Also
.NET: Alachisoft.NCache.Client namespace.
Java: com.alachisoft.ncache.client namespace.
Python: ncache.client class.
Node.js: Cache class.