Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

libmemcached_examples (3libmemcached)

Name

libmemcached_examples - libmemcached Documentation Examples for libmemcached

Synopsis

Please see following description for synopsis

Description

libmemcached                              LIBMEMCACHED_EXAMPLES(3libmemcached)



NAME
       libmemcached_examples - libmemcached Documentation

       Examples for libmemcached

DESCRIPTION
       For  full  examples, test cases are found in tests/*.c in the main dis-
       tribution. These are always up to date, and are used for each test  run
       of the library.

CONNECTING TO SERVERS
          const char *config_string= "--SERVER=host10.example.com --SERVER=host11.example.com --SERVER=host10.example.com"
          memcached_st *memc= memcached(config_string, strlen(config_string);
          {
          ...
          }
           memcached_free(memc);

       In the above code you create a memcached_st object with three server by
       making use of memcached_create().

CREATING A POOL OF SERVERS
       Creating a pool of Servers:

          const char *config_string= "--SERVER=host10.example.com --SERVER=host11.example.com --SERVER=host10.example.com";

          memcached_pool_st* pool= memcached_pool(config_string, strlen(config_string));

          memcached_return_t rc;

          memcached_st *memc= memcached_pool_pop(pool, false, &rc);

          .... do work

          /*
            Release the memc_ptr that was pulled from the pool
          */
          memcached_pool_push(pool, memc);

          /*
            Destroy the pool.
          */
          memcached_pool_destroy(pool);

       In the above code you create  a  memcached_pool_st  object  with  three
       server by making use of memcached_pool().

       When memcached_pool_destroy() all memory will be released that is asso-
       ciated with the pool.

ADDING A VALUE TO THE SERVER
       Adding a value to the Server:

          char *key= "foo";
          char *value= "value";

          memcached_return_t rc= memcached_set(memc, key, strlen(key), value, value_length, (time_t)0, (uint32_t)0);

          if (rc != MEMCACHED_SUCCESS)
          {
          ... // handle failure
          }

       It is best practice to always look at the return value  of  any  opera-
       tion.

FETCHING MULTIPLE VALUES
          memcached_return_t rc;
          char *keys[]= {"fudge", "son", "food"};
          size_t key_length[]= {5, 3, 4};
          unsigned int x;
          uint32_t flags;

          char return_key[MEMCACHED_MAX_KEY];
          size_t return_key_length;
          char *return_value;
          size_t return_value_length;

          rc= memcached_mget(memc, keys, key_length, 3);

          x= 0;
          while ((return_value= memcached_fetch(memc, return_key, &return_key_length,
                                                &return_value_length, &flags, &rc)))
          {
            free(return_value);
            x++;
          }

       Notice  that  you  freed  values  returned  from memcached_fetch(). The
       define MEMCACHED_MAX_KEY is provided for usage.

HOME
       To find out more information please check: http://libmemcached.org/


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+----------------------+
       |ATTRIBUTE TYPE |   ATTRIBUTE VALUE    |
       +---------------+----------------------+
       |Availability   | library/libmemcached |
       +---------------+----------------------+
       |Stability      | Uncommitted          |
       +---------------+----------------------+

SEE ALSO
       memcached(1)

AUTHOR
       Brian Aker

COPYRIGHT
       2011-2013, Brian Aker DataDifferential, http://datadifferential.com/



NOTES
       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source    was    downloaded     from      https://launchpad.net/libmem-
       cached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz.

       Further information about this software can be found on the open source
       community website at http://libmemcached.org/libMemcached.html.



1.0.18                         February 09, 2014
                                          LIBMEMCACHED_EXAMPLES(3libmemcached)