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 - keywithout any terminating zero
- hash_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_ststruct
- key -- the key to generate a hash of 
- key_length -- the length of the - keywithout 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.