Data is an important part of any application, in
a conventions web application architecture which does not use any cache, data
can be stored in 2 ways, using the database or using sessions, but both these
options have their own limitations.
The database can store any amount of data, but fetching large amount of data from the database and displaying in the UI will bring performance of the application. Sessions are quick but there is a limitation on the amount of data that can be stored in session, adding more data to the session, consumes more memory and hence brings down the application performance.
Asp.Net Caching tries to address the above issues to some extent, but still has limitations when it comes to scaling the application across a web-farm. The default Asp.Net cache is an InProc cache and cannot be scaled across multiple.
Distributed Caching solves all the above issues, distributed cache can store large amount of data and can respond quickly when compared to database, also it supports scaling across multiple servers in a web-farm setup.
Distributed cache is maintained in separate cache servers, hence it does not impact the performance of the web server, also it does not add any load to the database server, the cache server use their own Memory and CPU.
Distributed caching also supports very large architectures, where one cache server will not be sufficient, similar to adding web servers to the farm, we can also add multiple distributed cache servers to improve scalability.
The database can store any amount of data, but fetching large amount of data from the database and displaying in the UI will bring performance of the application. Sessions are quick but there is a limitation on the amount of data that can be stored in session, adding more data to the session, consumes more memory and hence brings down the application performance.
Asp.Net Caching tries to address the above issues to some extent, but still has limitations when it comes to scaling the application across a web-farm. The default Asp.Net cache is an InProc cache and cannot be scaled across multiple.
Distributed Caching solves all the above issues, distributed cache can store large amount of data and can respond quickly when compared to database, also it supports scaling across multiple servers in a web-farm setup.
Distributed cache is maintained in separate cache servers, hence it does not impact the performance of the web server, also it does not add any load to the database server, the cache server use their own Memory and CPU.
Distributed caching also supports very large architectures, where one cache server will not be sufficient, similar to adding web servers to the farm, we can also add multiple distributed cache servers to improve scalability.
No comments:
Post a Comment