memcached_create() is used to create a memcached_st structure that will then
be used by other libmemcached(3) functions to communicate with the server. You
should either pass a statically declared memcached_st to memcached_create() or
a NULL. If a NULL passed in then a structure is allocated for you.
memcached_clone() is similar to memcached_create(3) but it copies the
defaults and list of servers from the source memcached_st. If you pass a null as
the argument for the source to clone, it is the same as a call to memcached_create().
If the destination argument is NULL a memcached_st will be allocated for you.
memcached_servers_reset() allows you to zero out the list of servers that
the memcached_st has.
To clean up memory associated with a memcached_st structure you should pass
it to memcached_free() when you are finished using it. memcached_free() is
the only way to make sure all memory is deallocated when you finish using
You may wish to avoid using memcached_create(3) or memcached_clone(3) with a
stack based allocation. The most common issues related to ABI safety involve
heap allocated structures.