public long getHostID(String link) throws ForceErrorException {

		long retVal = 0;

		try {

			Memcached cache = Memcached.getInstance();

			URL url = new URL(link);

			String host = url.getHost();

			Object cacheValue = cache.get("papayHostID:" + host);

			if (cacheValue == null) {

				retVal = this.selectHost(Utils.MD5(host));

				if (retVal == 0) {

					retVal = this.insertHost(Utils.MD5(host), host);

				}

				cache.set("papayHostID:" + host, retVal);
			} else {
				retVal = (Long) cacheValue;
			}

		} catch (Exception e) {

			ErrorLog.getInstance().write(
					"Datamodel.getHostID: " + link + " :" + e.getClass() + ": "
							+ e.getMessage() + " "
							+ e.getStackTrace().toString());

			throw new ForceErrorException();
		}

		return retVal;
	}