Generating hash values directly
Hash a key value
SYNOPSIS
- #include <libmemcached/memcached.h>
Compile and link with -lmemcachedutil -lmemcached
-
uint32_t memcached_generate_hash_value(const char *key, size_t key_length, memcached_hash_t hash_algorithm)
- Parameters:
key -- the key to generate a hash of
key_length -- the length of the
key
without any terminating zerohash_algorithm --
memcached_hash_t
, the algorithm to use
- Returns:
a 32 bit hash value
-
uint32_t memcached_generate_hash(memcached_st *ptr, const char *key, size_t key_length)
- Parameters:
ptr -- pointer to an initialized
memcached_st
structkey -- the key to generate a hash of
key_length -- the length of the
key
without any terminating zero
- Returns:
a 32 bit hash value
-
typedef enum memcached_hash_t memcached_hash_t
-
enum memcached_hash_t
-
enumerator MEMCACHED_HASH_DEFAULT
-
enumerator MEMCACHED_HASH_MD5
-
enumerator MEMCACHED_HASH_CRC
-
enumerator MEMCACHED_HASH_FNV1_64
-
enumerator MEMCACHED_HASH_FNV1A_64
-
enumerator MEMCACHED_HASH_FNV1_32
-
enumerator MEMCACHED_HASH_FNV1A_32
-
enumerator MEMCACHED_HASH_HSIEH
-
enumerator MEMCACHED_HASH_MURMUR
-
enumerator MEMCACHED_HASH_JENKINS
-
enumerator MEMCACHED_HASH_MURMUR3
-
enumerator MEMCACHED_HASH_CUSTOM
-
enumerator MEMCACHED_HASH_DEFAULT
DESCRIPTION
memcached_generate_hash_value()
allows you to hash a key using one of
the hash functions defined in the library. This method is provided for
the convenience of higher-level language bindings and is not necessary
for normal memcache operations.
Support for MEMCACHED_HASH_HSIEH
is a compile time option that is
disabled by default. To enable tests for this hashing algorithm,
configure and build libmemcached with the Hsieh hash enabled.
memcached_generate_hash()
takes a memcached_st
structure
and produces the hash value that would have been generated based on the
defaults of memcached_st
.
As of version 0.36 all hash methods have been placed into the library libhashkit(3) which is linked with libmemcached(3). For more information please see its documentation.
RETURN VALUE
A 32-bit integer which is the result of hashing the given key. For 64-bit hash algorithms, only the least-significant 32 bits are returned.