public void purgeOperation() {
		try {
			Iterator iterator = mapTtl.keySet().iterator();
			String key = null;
			Date expTime;
			Date currentTime = new Date();
			while (iterator.hasNext()) {
				key = (String) iterator.next();
				expTime = (Date) mapTtl.get(key);
				if(expTime==null) {
					continue;
				}

				if (expTime.before(currentTime)) {
					mapTtl.remove(key);
					map.remove(key);
					while(true) {
						if(hardCache.remove(key)==false) {
							break;
						}
					}
					expired++;
				}
				Thread.yield();
			}
		} catch (Exception e) {
			logger.log(Level.WARNING, "Error: " + e, e);
		}
	}