Package redis.clients.jedis.util
Class MurmurHash
java.lang.Object
redis.clients.jedis.util.MurmurHash
- All Implemented Interfaces:
Hashing
This is a very fast, non-cryptographic hash suitable for general hash-based lookup. See
http://murmurhash.googlepages.com/ for more details.
The C version of MurmurHash 2.0 found at that site was ported to Java by Andrzej Bialecki (ab at getopt org).
-
Field Summary
Fields inherited from interface redis.clients.jedis.util.Hashing
MD5, md5Holder, MURMUR_HASH -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionlonghash(byte[] key) static inthash(byte[] data, int seed) Hashes bytes in an array.static inthash(byte[] data, int offset, int length, int seed) Hashes bytes in part of an array.longstatic inthash(ByteBuffer buf, int seed) Hashes the bytes in a buffer from the current position to the limit.static longhash64A(byte[] data, int seed) static longhash64A(byte[] data, int offset, int length, int seed) static longhash64A(ByteBuffer buf, int seed)
-
Constructor Details
-
MurmurHash
public MurmurHash()
-
-
Method Details
-
hash
public static int hash(byte[] data, int seed) Hashes bytes in an array.- Parameters:
data- The bytes to hash.seed- The seed for the hash.- Returns:
- The 32 bit hash of the bytes in question.
-
hash
public static int hash(byte[] data, int offset, int length, int seed) Hashes bytes in part of an array.- Parameters:
data- The data to hash.offset- Where to start munging.length- How many bytes to process.seed- The seed to start with.- Returns:
- The 32-bit hash of the data in question.
-
hash
Hashes the bytes in a buffer from the current position to the limit.- Parameters:
buf- The bytes to hash.seed- The seed for the hash.- Returns:
- The 32 bit murmur hash of the bytes in the buffer.
-
hash64A
public static long hash64A(byte[] data, int seed) -
hash64A
public static long hash64A(byte[] data, int offset, int length, int seed) -
hash64A
-
hash
public long hash(byte[] key) -
hash
-