NAME
memcached_generate_hash - 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 zero
- •
-
hash_algorithm -- memcached_hash_t, the algorithm to use
- Returns
-
a 32 bit hash value
- uint32_t memcached_generate_hash(memcached_st <#_CPPv412memcached_st> *ptr, const char *key, size_t key_length)
-
- Parameters
-
- •
-
ptr -- pointer to an initialized memcached_st <#_CPPv412memcached_st> struct
- •
-
key -- 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
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 <#_CPPv412memcached_st> structure and produces the hash value that would have been generated based on the defaults of memcached_st <#_CPPv412memcached_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.
SEE ALSO
memcached(1) <https://linux.die.net/man/1/memcached> libmemcached(3) <https://linux.die.net/man/3/libmemcached> memcached_strerror(3) <https://linux.die.net/man/3/memcached_strerror>