Enum Class DefaultHashAlgorithm

java.lang.Object
java.lang.Enum<DefaultHashAlgorithm>
net.spy.memcached.DefaultHashAlgorithm
All Implemented Interfaces:
Serializable, Comparable<DefaultHashAlgorithm>, Constable, HashAlgorithm

public enum DefaultHashAlgorithm extends Enum<DefaultHashAlgorithm> implements HashAlgorithm
Known hashing algorithms for locating a server for a key. Note that all hash algorithms return 64-bits of hash, but only the lower 32-bits are significant. This allows a positive 32-bit number to be returned for all cases.
  • Enum Constant Details

    • NATIVE_HASH

      public static final DefaultHashAlgorithm NATIVE_HASH
      Native hash (String.hashCode()).
    • CRC_HASH

      public static final DefaultHashAlgorithm CRC_HASH
      CRC_HASH as used by the perl API. This will be more consistent both across multiple API users as well as java versions, but is mostly likely significantly slower.
    • FNV1_64_HASH

      public static final DefaultHashAlgorithm FNV1_64_HASH
      FNV hashes are designed to be fast while maintaining a low collision rate. The FNV speed allows one to quickly hash lots of data while maintaining a reasonable collision rate.
      See Also:
    • FNV1A_64_HASH

      public static final DefaultHashAlgorithm FNV1A_64_HASH
      Variation of FNV.
    • FNV1_32_HASH

      public static final DefaultHashAlgorithm FNV1_32_HASH
      32-bit FNV1.
    • FNV1A_32_HASH

      public static final DefaultHashAlgorithm FNV1A_32_HASH
      32-bit FNV1a.
    • KETAMA_HASH

      public static final DefaultHashAlgorithm KETAMA_HASH
      MD5-based hash algorithm used by ketama.
  • Field Details

  • Constructor Details

    • DefaultHashAlgorithm

      private DefaultHashAlgorithm()
  • Method Details

    • values

      public static DefaultHashAlgorithm[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static DefaultHashAlgorithm valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • hash

      public long hash(String k)
      Compute the hash for the given key.
      Specified by:
      hash in interface HashAlgorithm
      Returns:
      a positive integer hash
    • computeMd5

      public static byte[] computeMd5(String k)
      Get the md5 of the given key.