MEMCACHED_GENERATE_HASH_VALUE(3)

NAME
memcached_generate_hash_value - 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 *ptr, const char *key, size_t key_length)

        Parameters

            •   ptr -- pointer to an initialized memcached_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 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.

SEE ALSO

memcached(1) libmemcached(3) memcached_strerror(3)