/** * Creates a memcached key from one or more parts. * * @param parts Key parts (i.e. namespace, local name) * * @return Key comprised of 250 characters or less. */ private String memcachedKey(final String ... parts) { final String key; if (parts.length > 0) { final StringBuilder sb = new StringBuilder(); int i = 0; for (String part : parts) { if (i++ > 0) { sb.append(':'); } sb.append(part); } key = sb.toString(); } else { key = parts[0]; } if (key.length() > MAX_KEY_LENGTH) { return CodecUtil.hex(HashUtil.sha512(key)); } return key; }