Friday Aug 21, 2009

How well are you aware of Caching,its terminology and algorithms used?

Some times in our day to day work, we talk about cache.We know that cache is the temporary memory area where data (may be retrieved from a remote server miles away from you or a database ) is stored for easy and fast retrieval.One good example is web cache where typically a proxy server or  a browser stores data from a remote web server in its own allocated memory space and tries to re-use it the second time the same resource is accessed with out taking the pain of contacting the remote resource and getting the same set of data and presenting to the user.Again here conditions apply.Some sort of mechanism should be in place so as to make sure that the data presented to the user is not stale.

In some cases when an application we use become sluggish or not performing well we try to see if there is a way to change the memory settings of the program.We do that and done.We now see that the performance increases and we are happy with it.

But when some one asks you to implement caching as a part of your work or in a job interview, how well can you do it?Are you equipped with the algorithms's and terminology associated with it? If answer is NO, I would like you to refer to this blog entry that describes the terminology like  Cache Miss, Cache Invalidation, Storage Cost, Replacement Policy etc , the algorithms and criteria that can be used or to be kept in mind while implementing your own version of Cache.I really liked the way its presented in a conversational style between a Java Programmer and an Interviewer.Read it.Enjoy.

About

This is my personal blog.All the information here reflects my own thoughts and feelings and should not be taken as official information from Oracle.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today