Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Regarding caching data in win application c#

Tags:

c#

caching

Caching data in asp.net is very easy. So I just want to know how could I cache data in win application.

Suppose that I want to fetch & cache data from employee table and when ever any records will be inserted or updated in employee table then a event will fire in my form and from there I will reload those data from employee table again and cache it. It is very easy to implement in asp.net apps but how to implement this concept in win application. I don't want to use timer. please help me with concept ?

like image 815
Thomas Avatar asked Mar 01 '11 13:03

Thomas


People also ask

What is caching in C?

Caching is a separate memory, yes, and it has it's own addresses, but when the CPU caches memory lines from RAM, it keeps a record of what RAM-addresses the memory was on, and keeps a map between RAM-address and cache-address. From the point of view of your program, the address is the same.

What is application data caching?

Caching is a method of using main memory or RAM to efficiently manage frequently accessed data. Aside from being stored in RAM, data in the cache can also be used in correlation with a software component.

What is caching state an application of caching?

Caching: What, Why, and Where Caching is a technique used to manage frequently accessed data in-memory. The method facilitates access to data while also reducing the workload on the main data stores. Not only can caching enhance performance; it can also improve the scalability and availability of an application.


3 Answers

If you can target .NET 4 then you should take a look at the System.Runtime.Caching namespace, and the MemoryCache class in particular:

The MemoryCache class is similar to the ASP.NET Cache class. The MemoryCache class has many properties and methods for accessing the cache that will be familiar to you if you have used the ASP.NET Cache class. The main differences between the Cache and MemoryCache classes are that the MemoryCache class has been changed to make it usable by .NET Framework applications that are not ASP.NET applications. For example, the MemoryCache class has no dependencies on the System.Web assembly. Another difference is that you can create multiple instances of the MemoryCache class for use in the same application and in the same AppDomain instance.

like image 174
LukeH Avatar answered Oct 01 '22 10:10

LukeH


This would be easy if you use Microsoft application block, you may want to explore more Caching Application Block http://msdn.microsoft.com/en-us/library/ff647280.aspx

You may want to look into specifically - Memcached with Windows and .NET

like image 45
Kumar Avatar answered Oct 01 '22 08:10

Kumar


Memcache is a popular solution. There are some .NET ports:

Is there a port of memcache to .Net?

like image 42
RQDQ Avatar answered Oct 01 '22 08:10

RQDQ