From 281c398ba3a10af677494c4453cd09d85ca921e0 Mon Sep 17 00:00:00 2001 From: Brian Aker Date: Fri, 8 Apr 2011 15:45:31 -0700 Subject: [PATCH] Merge in documentation updates. --- docs/conf.py | 1 + docs/hashkit_create.rst | 2 +- docs/hashkit_functions.rst | 4 +- docs/hashkit_value.rst | 4 +- docs/include.am | 3 + docs/index.rst | 10 + docs/libmemcached.rst | 4 +- docs/libmemcached_configuration.rst | 5 + docs/man/hashkit_clone.3 | 5 +- docs/man/hashkit_crc32.3 | 7 +- docs/man/hashkit_create.3 | 5 +- docs/man/hashkit_fnv1_32.3 | 7 +- docs/man/hashkit_fnv1_64.3 | 7 +- docs/man/hashkit_fnv1a_32.3 | 7 +- docs/man/hashkit_fnv1a_64.3 | 7 +- docs/man/hashkit_free.3 | 5 +- docs/man/hashkit_functions.3 | 7 +- docs/man/hashkit_hsieh.3 | 7 +- docs/man/hashkit_is_allocated.3 | 5 +- docs/man/hashkit_jenkins.3 | 7 +- docs/man/hashkit_md5.3 | 7 +- docs/man/hashkit_murmur.3 | 7 +- docs/man/hashkit_value.3 | 7 +- docs/man/libmemcached.3 | 17 +- docs/man/libmemcached_examples.3 | 13 +- docs/man/libmemcachedutil.3 | 14 +- docs/man/memaslap.1 | 1224 ++++++++++++++++ docs/man/memcached_add.3 | 9 +- docs/man/memcached_add_by_key.3 | 9 +- docs/man/memcached_analyze.3 | 5 +- docs/man/memcached_append.3 | 9 +- docs/man/memcached_append_by_key.3 | 9 +- docs/man/memcached_auto.3 | 8 +- docs/man/memcached_behavior.3 | 18 +- docs/man/memcached_behavior_get.3 | 18 +- docs/man/memcached_behavior_set.3 | 18 +- docs/man/memcached_callback.3 | 8 +- docs/man/memcached_callback_get.3 | 8 +- docs/man/memcached_callback_set.3 | 8 +- docs/man/memcached_cas.3 | 9 +- docs/man/memcached_cas_by_key.3 | 9 +- docs/man/memcached_clone.3 | 8 +- docs/man/memcached_create.3 | 8 +- docs/man/memcached_decrement.3 | 8 +- docs/man/memcached_decrement_with_initial.3 | 8 +- docs/man/memcached_delete.3 | 10 +- docs/man/memcached_delete_by_key.3 | 10 +- docs/man/memcached_destroy_sasl_auth_data.3 | 11 +- docs/man/memcached_dump.3 | 10 +- docs/man/memcached_fetch.3 | 10 +- docs/man/memcached_fetch_execute.3 | 10 +- docs/man/memcached_fetch_result.3 | 10 +- docs/man/memcached_flush.3 | 9 +- docs/man/memcached_flush_buffers.3 | 9 +- docs/man/memcached_free.3 | 8 +- docs/man/memcached_generate_hash_value.3 | 11 +- docs/man/memcached_get.3 | 10 +- docs/man/memcached_get_by_key.3 | 10 +- docs/man/memcached_get_memory_allocators.3 | 45 +- docs/man/memcached_get_sasl_callbacks.3 | 11 +- docs/man/memcached_get_user_data.3 | 6 +- docs/man/memcached_increment.3 | 8 +- docs/man/memcached_increment_with_initial.3 | 8 +- docs/man/memcached_lib_version.3 | 6 +- docs/man/memcached_memory_allocators.3 | 45 +- docs/man/memcached_mget.3 | 10 +- docs/man/memcached_mget_by_key.3 | 10 +- docs/man/memcached_mget_execute.3 | 10 +- docs/man/memcached_mget_execute_by_key.3 | 10 +- docs/man/memcached_pool.3 | 30 +- docs/man/memcached_pool_behavior_get.3 | 30 +- docs/man/memcached_pool_behavior_set.3 | 30 +- docs/man/memcached_pool_create.3 | 30 +- docs/man/memcached_pool_destroy.3 | 30 +- docs/man/memcached_pool_pop.3 | 30 +- docs/man/memcached_pool_push.3 | 30 +- docs/man/memcached_prepend.3 | 9 +- docs/man/memcached_prepend_by_key.3 | 9 +- docs/man/memcached_quit.3 | 8 +- docs/man/memcached_replace.3 | 9 +- docs/man/memcached_replace_by_key.3 | 9 +- docs/man/memcached_result_cas.3 | 10 +- docs/man/memcached_result_create.3 | 10 +- docs/man/memcached_result_flags.3 | 10 +- docs/man/memcached_result_free.3 | 10 +- docs/man/memcached_result_key_length.3 | 10 +- docs/man/memcached_result_key_value.3 | 10 +- docs/man/memcached_result_length.3 | 10 +- docs/man/memcached_result_st.3 | 10 +- docs/man/memcached_result_value.3 | 10 +- docs/man/memcached_sasl.3 | 11 +- docs/man/memcached_sasl_set_auth_data.3 | 11 +- docs/man/memcached_server_add.3 | 44 +- docs/man/memcached_server_add_unix_socket.3 | 44 +- docs/man/memcached_server_count.3 | 44 +- docs/man/memcached_server_cursor.3 | 44 +- docs/man/memcached_server_list.3 | 44 +- docs/man/memcached_server_list_append.3 | 8 +- docs/man/memcached_server_list_count.3 | 8 +- docs/man/memcached_server_list_free.3 | 8 +- docs/man/memcached_server_push.3 | 44 +- docs/man/memcached_server_st.3 | 44 +- docs/man/memcached_servers.3 | 44 +- docs/man/memcached_servers_parse.3 | 8 +- docs/man/memcached_servers_reset.3 | 8 +- docs/man/memcached_set.3 | 9 +- docs/man/memcached_set_by_key.3 | 9 +- docs/man/memcached_set_memory_allocators.3 | 45 +- .../memcached_set_memory_allocators_context.3 | 45 +- docs/man/memcached_set_sasl_callbacks.3 | 11 +- docs/man/memcached_set_user_data.3 | 6 +- docs/man/memcached_stat.3 | 6 +- docs/man/memcached_stat_execute.3 | 6 +- docs/man/memcached_stat_get_keys.3 | 6 +- docs/man/memcached_stat_get_value.3 | 6 +- docs/man/memcached_stat_servername.3 | 6 +- docs/man/memcached_stats.3 | 6 +- docs/man/memcached_strerror.3 | 8 +- docs/man/memcached_user_data.3 | 6 +- docs/man/memcached_verbosity.3 | 6 +- docs/man/memcached_version.3 | 6 +- docs/man/memcapable.1 | 8 +- docs/man/memcat.1 | 4 +- docs/man/memcp.1 | 4 +- docs/man/memdump.1 | 4 +- docs/man/memerror.1 | 4 +- docs/man/memflush.1 | 4 +- docs/man/memrm.1 | 4 +- docs/man/memslap.1 | 1174 +-------------- docs/man/memstat.1 | 7 +- docs/memaslap.rst | 1256 +++++++++++++++++ docs/memcached_auto.rst | 20 +- docs/memcached_behavior.rst | 30 +- docs/memcached_callback.rst | 20 +- docs/memcached_create.rst | 20 +- docs/memcached_delete.rst | 16 +- docs/memcached_dump.rst | 16 +- docs/memcached_flush.rst | 14 +- docs/memcached_flush_buffers.rst | 14 +- docs/memcached_generate_hash_value.rst | 16 +- docs/memcached_get.rst | 22 +- docs/memcached_memory_allocators.rst | 84 +- docs/memcached_pool.rst | 42 +- docs/memcached_quit.rst | 14 +- docs/memcached_result_st.rst | 22 +- docs/memcached_sasl.rst | 16 +- docs/memcached_server_st.rst | 12 +- docs/memcached_servers.rst | 63 +- docs/memcached_set.rst | 6 +- docs/memcached_stats.rst | 12 +- docs/memcached_strerror.rst | 12 +- docs/memcached_user_data.rst | 12 +- docs/memcached_verbosity.rst | 12 +- docs/memcached_version.rst | 12 +- docs/memcapable.rst | 18 +- docs/memcat.rst | 12 +- docs/memcp.rst | 12 +- docs/memdump.rst | 12 +- docs/memerror.rst | 12 +- docs/memflush.rst | 12 +- docs/memrm.rst | 12 +- docs/memslap.rst | 1239 +--------------- docs/memstat.rst | 12 +- 163 files changed, 3348 insertions(+), 3786 deletions(-) create mode 100644 docs/libmemcached_configuration.rst create mode 100644 docs/man/memaslap.1 create mode 100644 docs/memaslap.rst diff --git a/docs/conf.py b/docs/conf.py index 0ef2fa42..1d99b203 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -334,6 +334,7 @@ man_pages = [ ('memcp', 'memcp', u'libmemcached Documentation', [u'Brian Aker'], 1), ('memdump', 'memdump', u'libmemcached Documentation', [u'Brian Aker'], 1), ('memerror', 'memerror', u'libmemcached Documentation', [u'Brian Aker'], 1), + ('memaslap', 'memaslap', u'libmemcached Documentation', [u'Brian Aker'], 1), ('memflush', 'memflush', u'libmemcached Documentation', [u'Brian Aker'], 1), ('memrm', 'memrm', u'libmemcached Documentation', [u'Brian Aker'], 1), ('memslap', 'memslap', u'libmemcached Documentation', [u'Brian Aker'], 1), diff --git a/docs/hashkit_create.rst b/docs/hashkit_create.rst index 91687e0e..44402b37 100644 --- a/docs/hashkit_create.rst +++ b/docs/hashkit_create.rst @@ -11,7 +11,7 @@ LIBRARY ------- -C Library for hashing algorithms (libhashkit, -lhashkit) +C Library for hashing algorithms (libmemcached, -lhashkit) -------- diff --git a/docs/hashkit_functions.rst b/docs/hashkit_functions.rst index 12a1048e..542fd95f 100644 --- a/docs/hashkit_functions.rst +++ b/docs/hashkit_functions.rst @@ -11,7 +11,7 @@ LIBRARY ------- -C Library for hashing algorithms (libhashkit, -lhashkit) +C Library for hashing algorithms (libmemcached, -lhashkit) -------- @@ -22,7 +22,7 @@ SYNOPSIS .. code-block:: perl - #include + #include uint32_t hashkit_default(const char *key, size_t key_length); uint32_t hashkit_fnv1_64(const char *key, size_t key_length); diff --git a/docs/hashkit_value.rst b/docs/hashkit_value.rst index e3f4f22c..c3184870 100644 --- a/docs/hashkit_value.rst +++ b/docs/hashkit_value.rst @@ -11,7 +11,7 @@ LIBRARY ------- -C Library for hashing algorithms (libhashkit, -lhashkit) +C Library for hashing algorithms (libmemcached, -lhashkit) -------- @@ -22,7 +22,7 @@ SYNOPSIS .. code-block:: perl - #include + #include uint32_t hashkit_value(hashkit_st *hash, const char *key, diff --git a/docs/include.am b/docs/include.am index ebfa12ab..8f152547 100644 --- a/docs/include.am +++ b/docs/include.am @@ -123,6 +123,7 @@ EXTRA_DIST+= \ docs/memerror.rst \ docs/memflush.rst \ docs/memrm.rst \ + docs/memaslap.rst \ docs/memslap.rst \ docs/memstat.rst \ docs/_static \ @@ -147,6 +148,7 @@ EXTRA_DIST+= \ docs/memflush.rst \ docs/memrm.rst \ docs/memslap.rst \ + docs/memaslap.rst \ docs/memstat.rst # Makefile for Sphinx documentation @@ -260,6 +262,7 @@ man_MANS+= \ docs/man/memerror.1 \ docs/man/memflush.1 \ docs/man/memrm.1 \ + docs/man/memaslap.1 \ docs/man/memslap.1 \ docs/man/memstat.1 diff --git a/docs/index.rst b/docs/index.rst index 4b115cdf..eaa17f68 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -11,6 +11,7 @@ Libmemcached libmemcached libmemcached_examples + libmemcached_configuration libmemcachedutil memcached_analyze memcached_auto @@ -36,6 +37,14 @@ Libmemcached memcached_user_data memcached_verbosity memcached_version + +------------------- +Client Applications +------------------- + +.. toctree:: + :maxdepth: 2 + memcapable memcat memcp @@ -44,6 +53,7 @@ Libmemcached memflush memrm memslap + memaslap memstat ---------- diff --git a/docs/libmemcached.rst b/docs/libmemcached.rst index 76ad5740..92684f12 100644 --- a/docs/libmemcached.rst +++ b/docs/libmemcached.rst @@ -54,7 +54,7 @@ recommended that you operate directly against the structure. Nearly all functions return a \ ``memcached_return_t``\ value. This value can be translated to a printable string with memcached_strerror(3). -Partitioning based on keys is supported in the library. Using the key partioning +Partitioning based on keys is testsed in the library. Using the key partioning functions it is possible to group sets of object onto servers. \ ``memcached_st``\ structures are thread-safe, but each thread must @@ -63,7 +63,7 @@ threads you must provide your own locking). No global variables are used in this library. If you are working with GNU autotools you will want to add the following to -your configure.ac to properly include libmemcached in your application. +your COPYING to properly include libmemcached in your application. PKG_CHECK_MODULES(DEPS, libmemcached >= 0.8.0) AC_SUBST(DEPS_CFLAGS) diff --git a/docs/libmemcached_configuration.rst b/docs/libmemcached_configuration.rst new file mode 100644 index 00000000..86b7cbe9 --- /dev/null +++ b/docs/libmemcached_configuration.rst @@ -0,0 +1,5 @@ +======================== +Configuring Libmemcached +======================== + +Libmemcached implements a custom language for configuring and modifying servers. diff --git a/docs/man/hashkit_clone.3 b/docs/man/hashkit_clone.3 index b42fe09a..70ea4506 100644 --- a/docs/man/hashkit_clone.3 +++ b/docs/man/hashkit_clone.3 @@ -34,7 +34,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] Create and destroy hashkit objects .SH LIBRARY .sp -C Library for hashing algorithms (libhashkit, \-lhashkit) +C Library for hashing algorithms (libmemcached, \-lhashkit) .SH SYNOPSIS .sp .nf @@ -79,9 +79,6 @@ otherwise it is false and was user\-supplied memory. To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP .SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> -.SH AUTHOR Brian Aker .SH COPYRIGHT 2011, Brian Aker diff --git a/docs/man/hashkit_crc32.3 b/docs/man/hashkit_crc32.3 index bfb6a72d..b9502251 100644 --- a/docs/man/hashkit_crc32.3 +++ b/docs/man/hashkit_crc32.3 @@ -34,12 +34,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] Various hash functions to use for calculating values for keys .SH LIBRARY .sp -C Library for hashing algorithms (libhashkit, \-lhashkit) +C Library for hashing algorithms (libmemcached, \-lhashkit) .SH SYNOPSIS .sp .nf .ft C -#include +#include uint32_t hashkit_default(const char *key, size_t key_length); uint32_t hashkit_fnv1_64(const char *key, size_t key_length); @@ -68,9 +68,6 @@ A 32\-bit hash value. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp hashkit_create(3) hashkit_value(3) hashkit_set_hash_fn(3) diff --git a/docs/man/hashkit_create.3 b/docs/man/hashkit_create.3 index e7abc893..336ab394 100644 --- a/docs/man/hashkit_create.3 +++ b/docs/man/hashkit_create.3 @@ -34,7 +34,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] Create and destroy hashkit objects .SH LIBRARY .sp -C Library for hashing algorithms (libhashkit, \-lhashkit) +C Library for hashing algorithms (libmemcached, \-lhashkit) .SH SYNOPSIS .sp .nf @@ -79,9 +79,6 @@ otherwise it is false and was user\-supplied memory. To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP .SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> -.SH AUTHOR Brian Aker .SH COPYRIGHT 2011, Brian Aker diff --git a/docs/man/hashkit_fnv1_32.3 b/docs/man/hashkit_fnv1_32.3 index 7028ccdb..94dd7aaa 100644 --- a/docs/man/hashkit_fnv1_32.3 +++ b/docs/man/hashkit_fnv1_32.3 @@ -34,12 +34,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] Various hash functions to use for calculating values for keys .SH LIBRARY .sp -C Library for hashing algorithms (libhashkit, \-lhashkit) +C Library for hashing algorithms (libmemcached, \-lhashkit) .SH SYNOPSIS .sp .nf .ft C -#include +#include uint32_t hashkit_default(const char *key, size_t key_length); uint32_t hashkit_fnv1_64(const char *key, size_t key_length); @@ -68,9 +68,6 @@ A 32\-bit hash value. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp hashkit_create(3) hashkit_value(3) hashkit_set_hash_fn(3) diff --git a/docs/man/hashkit_fnv1_64.3 b/docs/man/hashkit_fnv1_64.3 index d687ec44..a9ece2d9 100644 --- a/docs/man/hashkit_fnv1_64.3 +++ b/docs/man/hashkit_fnv1_64.3 @@ -34,12 +34,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] Various hash functions to use for calculating values for keys .SH LIBRARY .sp -C Library for hashing algorithms (libhashkit, \-lhashkit) +C Library for hashing algorithms (libmemcached, \-lhashkit) .SH SYNOPSIS .sp .nf .ft C -#include +#include uint32_t hashkit_default(const char *key, size_t key_length); uint32_t hashkit_fnv1_64(const char *key, size_t key_length); @@ -68,9 +68,6 @@ A 32\-bit hash value. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp hashkit_create(3) hashkit_value(3) hashkit_set_hash_fn(3) diff --git a/docs/man/hashkit_fnv1a_32.3 b/docs/man/hashkit_fnv1a_32.3 index 47dd4a7c..82951a02 100644 --- a/docs/man/hashkit_fnv1a_32.3 +++ b/docs/man/hashkit_fnv1a_32.3 @@ -34,12 +34,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] Various hash functions to use for calculating values for keys .SH LIBRARY .sp -C Library for hashing algorithms (libhashkit, \-lhashkit) +C Library for hashing algorithms (libmemcached, \-lhashkit) .SH SYNOPSIS .sp .nf .ft C -#include +#include uint32_t hashkit_default(const char *key, size_t key_length); uint32_t hashkit_fnv1_64(const char *key, size_t key_length); @@ -68,9 +68,6 @@ A 32\-bit hash value. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp hashkit_create(3) hashkit_value(3) hashkit_set_hash_fn(3) diff --git a/docs/man/hashkit_fnv1a_64.3 b/docs/man/hashkit_fnv1a_64.3 index 0ae87afd..a069f2c6 100644 --- a/docs/man/hashkit_fnv1a_64.3 +++ b/docs/man/hashkit_fnv1a_64.3 @@ -34,12 +34,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] Various hash functions to use for calculating values for keys .SH LIBRARY .sp -C Library for hashing algorithms (libhashkit, \-lhashkit) +C Library for hashing algorithms (libmemcached, \-lhashkit) .SH SYNOPSIS .sp .nf .ft C -#include +#include uint32_t hashkit_default(const char *key, size_t key_length); uint32_t hashkit_fnv1_64(const char *key, size_t key_length); @@ -68,9 +68,6 @@ A 32\-bit hash value. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp hashkit_create(3) hashkit_value(3) hashkit_set_hash_fn(3) diff --git a/docs/man/hashkit_free.3 b/docs/man/hashkit_free.3 index e78ec982..1c7953da 100644 --- a/docs/man/hashkit_free.3 +++ b/docs/man/hashkit_free.3 @@ -34,7 +34,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] Create and destroy hashkit objects .SH LIBRARY .sp -C Library for hashing algorithms (libhashkit, \-lhashkit) +C Library for hashing algorithms (libmemcached, \-lhashkit) .SH SYNOPSIS .sp .nf @@ -79,9 +79,6 @@ otherwise it is false and was user\-supplied memory. To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP .SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> -.SH AUTHOR Brian Aker .SH COPYRIGHT 2011, Brian Aker diff --git a/docs/man/hashkit_functions.3 b/docs/man/hashkit_functions.3 index 2b966234..bb2abe21 100644 --- a/docs/man/hashkit_functions.3 +++ b/docs/man/hashkit_functions.3 @@ -34,12 +34,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] Various hash functions to use for calculating values for keys .SH LIBRARY .sp -C Library for hashing algorithms (libhashkit, \-lhashkit) +C Library for hashing algorithms (libmemcached, \-lhashkit) .SH SYNOPSIS .sp .nf .ft C -#include +#include uint32_t hashkit_default(const char *key, size_t key_length); uint32_t hashkit_fnv1_64(const char *key, size_t key_length); @@ -68,9 +68,6 @@ A 32\-bit hash value. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp hashkit_create(3) hashkit_value(3) hashkit_set_hash_fn(3) diff --git a/docs/man/hashkit_hsieh.3 b/docs/man/hashkit_hsieh.3 index d99983a6..ee083500 100644 --- a/docs/man/hashkit_hsieh.3 +++ b/docs/man/hashkit_hsieh.3 @@ -34,12 +34,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] Various hash functions to use for calculating values for keys .SH LIBRARY .sp -C Library for hashing algorithms (libhashkit, \-lhashkit) +C Library for hashing algorithms (libmemcached, \-lhashkit) .SH SYNOPSIS .sp .nf .ft C -#include +#include uint32_t hashkit_default(const char *key, size_t key_length); uint32_t hashkit_fnv1_64(const char *key, size_t key_length); @@ -68,9 +68,6 @@ A 32\-bit hash value. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp hashkit_create(3) hashkit_value(3) hashkit_set_hash_fn(3) diff --git a/docs/man/hashkit_is_allocated.3 b/docs/man/hashkit_is_allocated.3 index 429661f3..a754feab 100644 --- a/docs/man/hashkit_is_allocated.3 +++ b/docs/man/hashkit_is_allocated.3 @@ -34,7 +34,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] Create and destroy hashkit objects .SH LIBRARY .sp -C Library for hashing algorithms (libhashkit, \-lhashkit) +C Library for hashing algorithms (libmemcached, \-lhashkit) .SH SYNOPSIS .sp .nf @@ -79,9 +79,6 @@ otherwise it is false and was user\-supplied memory. To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP .SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> -.SH AUTHOR Brian Aker .SH COPYRIGHT 2011, Brian Aker diff --git a/docs/man/hashkit_jenkins.3 b/docs/man/hashkit_jenkins.3 index 9b7053aa..42efe2e8 100644 --- a/docs/man/hashkit_jenkins.3 +++ b/docs/man/hashkit_jenkins.3 @@ -34,12 +34,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] Various hash functions to use for calculating values for keys .SH LIBRARY .sp -C Library for hashing algorithms (libhashkit, \-lhashkit) +C Library for hashing algorithms (libmemcached, \-lhashkit) .SH SYNOPSIS .sp .nf .ft C -#include +#include uint32_t hashkit_default(const char *key, size_t key_length); uint32_t hashkit_fnv1_64(const char *key, size_t key_length); @@ -68,9 +68,6 @@ A 32\-bit hash value. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp hashkit_create(3) hashkit_value(3) hashkit_set_hash_fn(3) diff --git a/docs/man/hashkit_md5.3 b/docs/man/hashkit_md5.3 index 81704af2..7dae44f2 100644 --- a/docs/man/hashkit_md5.3 +++ b/docs/man/hashkit_md5.3 @@ -34,12 +34,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] Various hash functions to use for calculating values for keys .SH LIBRARY .sp -C Library for hashing algorithms (libhashkit, \-lhashkit) +C Library for hashing algorithms (libmemcached, \-lhashkit) .SH SYNOPSIS .sp .nf .ft C -#include +#include uint32_t hashkit_default(const char *key, size_t key_length); uint32_t hashkit_fnv1_64(const char *key, size_t key_length); @@ -68,9 +68,6 @@ A 32\-bit hash value. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp hashkit_create(3) hashkit_value(3) hashkit_set_hash_fn(3) diff --git a/docs/man/hashkit_murmur.3 b/docs/man/hashkit_murmur.3 index b345ebf6..82198927 100644 --- a/docs/man/hashkit_murmur.3 +++ b/docs/man/hashkit_murmur.3 @@ -34,12 +34,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] Various hash functions to use for calculating values for keys .SH LIBRARY .sp -C Library for hashing algorithms (libhashkit, \-lhashkit) +C Library for hashing algorithms (libmemcached, \-lhashkit) .SH SYNOPSIS .sp .nf .ft C -#include +#include uint32_t hashkit_default(const char *key, size_t key_length); uint32_t hashkit_fnv1_64(const char *key, size_t key_length); @@ -68,9 +68,6 @@ A 32\-bit hash value. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp hashkit_create(3) hashkit_value(3) hashkit_set_hash_fn(3) diff --git a/docs/man/hashkit_value.3 b/docs/man/hashkit_value.3 index ded08c19..66d3270b 100644 --- a/docs/man/hashkit_value.3 +++ b/docs/man/hashkit_value.3 @@ -34,12 +34,12 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] Generate a value for the given key .SH LIBRARY .sp -C Library for hashing algorithms (libhashkit, \-lhashkit) +C Library for hashing algorithms (libmemcached, \-lhashkit) .SH SYNOPSIS .sp .nf .ft C -#include +#include uint32_t hashkit_value(hashkit_st *hash, const char *key, @@ -59,9 +59,6 @@ A 32\-bit hash value. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp hashkit_create(3) hashkit_set_distribution(3) hashkit_set_hash_fn(3) diff --git a/docs/man/libmemcached.3 b/docs/man/libmemcached.3 index 3f8dc585..4d0320bc 100644 --- a/docs/man/libmemcached.3 +++ b/docs/man/libmemcached.3 @@ -67,7 +67,7 @@ recommended that you operate directly against the structure. Nearly all functions return a \fBmemcached_return_t\fP value. This value can be translated to a printable string with memcached_strerror(3). .sp -Partitioning based on keys is supported in the library. Using the key partioning +Partitioning based on keys is testsed in the library. Using the key partioning functions it is possible to group sets of object onto servers. .sp \fBmemcached_st\fP structures are thread\-safe, but each thread must @@ -76,7 +76,7 @@ threads you must provide your own locking). No global variables are used in this library. .sp If you are working with GNU autotools you will want to add the following to -your configure.ac to properly include libmemcached in your application. +your COPYING to properly include libmemcached in your application. .sp PKG_CHECK_MODULES(DEPS, libmemcached >= 0.8.0) AC_SUBST(DEPS_CFLAGS) @@ -142,12 +142,17 @@ structure. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp -memcached(1) libmemcached_examples(3) libmemcached(1) memcat(1) memcp(1) memflush(1) memrm(1) memslap(1) memstat(1) memcached_fetch(3) memcached_replace(3) memcached_server_list_free(3) libmemcached_examples(3) memcached_clone(3) memcached_free(3) memcached_server_add(3) memcached_server_push(3) memcached_add(3) memcached_get(3) memcached_server_count(3) memcached_servers_parse(3) memcached_create(3) memcached_increment(3) memcached_server_list(3) memcached_set(3) memcached_decrement(3) memcached_mget(3) memcached_server_list_append(3) memcached_strerror(3) memcached_delete(3) memcached_quit(3) memcached_server_list_count(3) memcached_verbosity(3) memcached_server_add_unix_socket(3) memcached_result_create(3) memcached_result_free(3) memcached_result_key_value(3) memcached_result_key_length(3) memcached_result_value(3) memcached_result_length(3) memcached_result_flags(3) memcached_result_cas(3) memcached_result_st(3) memcached_append(3) memcached_prepend(3) memcached_fetch_result(3) memerror(1) memcached_get_by_key(3) memcached_mget_by_key(3) memcached_delete_by_key(3) memcached_fetch_execute(3) memcached_callback_get(3) memcached_callback_set(3) memcached_version(3) memcached_lib_version(3) memcached_result_set_value(3) memcached_dump(3) memdump(1) memcached_set_memory_allocators(3) memcached_get_memory_allocators(3) memcached_get_user_data(3) memcached_set_user_data(3) +\fImemcached(1)\fP \fIlibmemcached_examples(3)\fP \fIlibmemcached(1)\fP \fImemcat(1)\fP \fImemcp(1)\fP \fImemflush(1)\fP \fImemrm(1)\fP \fImemslap(1)\fP \fImemstat(1)\fP \fImemcached_fetch(3)\fP \fImemcached_replace(3)\fP \fImemcached_server_list_free(3)\fP \fIlibmemcached_examples(3)\fP \fImemcached_clone(3)\fP \fImemcached_free(3)\fP +\fImemcached_server_add(3)\fP \fImemcached_server_push(3)\fP \fImemcached_add(3)\fP \fImemcached_get(3)\fP \fImemcached_server_count(3)\fP \fImemcached_servers_parse(3)\fP \fImemcached_create(3)\fP \fImemcached_increment(3)\fP \fImemcached_server_list(3)\fP \fImemcached_set(3)\fP +\fImemcached_decrement(3)\fP \fImemcached_mget(3)\fP \fImemcached_server_list_append(3)\fP \fImemcached_strerror(3)\fP \fImemcached_delete(3)\fP \fImemcached_quit(3)\fP \fImemcached_server_list_count(3)\fP \fImemcached_verbosity(3)\fP \fImemcached_server_add_unix_socket(3)\fP \fImemcached_result_create(3)\fP \fImemcached_result_free(3)\fP +\fImemcached_result_key_value(3)\fP \fImemcached_result_key_length(3)\fP \fImemcached_result_value(3)\fP \fImemcached_result_length(3)\fP \fImemcached_result_flags(3)\fP +\fImemcached_result_cas(3)\fP \fImemcached_result_st(3)\fP \fImemcached_append(3)\fP \fImemcached_prepend(3)\fP \fImemcached_fetch_result(3)\fP +\fImemerror(1)\fP \fImemcached_get_by_key(3)\fP \fImemcached_mget_by_key(3)\fP \fImemcached_delete_by_key(3)\fP +\fImemcached_fetch_execute(3)\fP \fImemcached_callback_get(3)\fP \fImemcached_callback_set(3)\fP \fImemcached_version(3)\fP +\fImemcached_lib_version(3)\fP \fImemcached_result_set_value(3)\fP \fImemcached_dump(3)\fP \fImemdump(1)\fP +\fImemcached_set_memory_allocators(3)\fP \fImemcached_get_memory_allocators(3)\fP \fImemcached_get_user_data(3)\fP \fImemcached_set_user_data(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/libmemcached_examples.3 b/docs/man/libmemcached_examples.3 index 3e58249e..64d069d1 100644 --- a/docs/man/libmemcached_examples.3 +++ b/docs/man/libmemcached_examples.3 @@ -37,7 +37,7 @@ Examples for libmemcached For full examples, test cases are found in tests/*.c in the main distribution. These are always up to date, and are used for each test run of the library. -.SS Creating and Freeing structure +.SH CREATING AND FREEING STRUCTURE .sp .nf .ft C @@ -52,7 +52,7 @@ memcached_free(memc); .sp The above code would create a connection and then free the connection when finished. -.SS Connecting to servers +.SH CONNECTING TO SERVERS .sp .nf .ft C @@ -80,7 +80,7 @@ single host into. In the for loop you build a \fBmemcached_server_st\fPpointer t \fBmemcached_st\fP structure. .sp You can reuse the \fBmemcached_server_st\fP object with multile \fBmemcached_st\fPstructures. -.SS Adding a value to the server +.SH ADDING A VALUE TO THE SERVER .sp .nf .ft C @@ -108,7 +108,7 @@ free(value); .fi .sp It is best practice to always look at the return value of any operation. -.SS Fetching multiple values +.SH FETCHING MULTIPLE VALUES .sp .nf .ft C @@ -141,12 +141,9 @@ Notice that you freed values returned from memcached_fetch(). The define .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp -memcached(1) +\fImemcached(1)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/libmemcachedutil.3 b/docs/man/libmemcachedutil.3 index 89760775..25936d85 100644 --- a/docs/man/libmemcachedutil.3 +++ b/docs/man/libmemcachedutil.3 @@ -31,11 +31,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" Man page generated from reStructeredText. . .sp -libmemcachedutil \- Utility library for libmemcached -.SH LIBRARY +Utility library for libmemcached .sp C Client Library containing utility functions for libmemcached (libmemcachedutil, \-lmemcachedutil) -.SH SYNOPSIS .sp .nf .ft C @@ -44,26 +42,20 @@ cc [ flag ... ] file ... \-lmemcachedutil #include .ft P .fi -.SH DESCRIPTION .sp \fBlibmemcachedutil\fP is a small and thread\-safe client library that provides extra functionality built on top of \fBlibmemcached\fP. -.SH THREADS .sp Do not try to access an instance of \fBmemcached_st\fP from multiple threads at the same time. If you want to access memcached from multiple threads you should either clone the \fBmemcached_st\fP, or use the memcached pool implementation. see memcached_pool_create(3). -.SH HOME .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Trond Norbye, <\fI\%trond.norbye@gmail.com\fP> -.SH SEE ALSO .sp -libmemcached(3) memcached_pool_create(3) memcached_pool_destroy(3) memcached_pool_pop(3) memcached_pool_push(3) +\fIlibmemcached(3)\fP +\fImemcached_pool_create(3)\fP \fImemcached_pool_destroy(3)\fP \fImemcached_pool_pop(3)\fP \fImemcached_pool_push(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memaslap.1 b/docs/man/memaslap.1 new file mode 100644 index 00000000..cc8c0cb7 --- /dev/null +++ b/docs/man/memaslap.1 @@ -0,0 +1,1224 @@ +.TH "MEMASLAP" "1" "April 08, 2011" "0.47" "libmemcached" +.SH NAME +memaslap \- libmemcached Documentation +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.\" Man page generated from reStructeredText. +. +.sp +memaslap \- Load testing and benchmarking tool for memcached +.SH SYNOPSIS +.sp +.nf +.ft C +memaslap [options] +.ft P +.fi +.SH DESCRIPTION +.sp +\fBmemaslap\fP is a load generation and benchmark tool for memcached(1) +servers. It generates configurable workload such as threads, concurrencies, connections, +run time, overwrite, miss rate, key size, value size, get/set proportion, +expected throughput, and so on. Furthermore, it also supports data +verification, expire\-time verification, UDP, binary protocol, facebook test, +replication test, multi\-get and reconnection, etc. +.sp +Memslap manages network connections like memcached with +libevent. Each thread of memaslap is bound with a CPU core, all +the threads don\(aqt communicate with each other, and there are several socket +connections in each thread. Each connection keeps key size distribution, +value size distribution, and command distribution by itself. +.sp +You can specify servers via the \fB\-\-servers\fP option or via the +environment variable \fBMEMCACHED_SERVERS\fP. +.SH FEATURES +.sp +Memslap is developed to for the following purposes: +.sp +Manages network connections with libevent asynchronously. +.sp +Set both TCP and UDP up to use non\-blocking IO. +.sp +Improves parallelism: higher performance in multi\-threads environments. +.sp +Improves time efficiency: faster processing speed. +.sp +Generates key and value more efficiently; key size distribution and value size distribution are configurable. +.sp +Supports get, multi\-get, and set commands; command distribution is configurable. +.sp +Supports controllable miss rate and overwrite rate. +.sp +Supports data and expire\-time verification. +.sp +Supports dumping statistic information periodically. +.sp +Supports thousands of TCP connections. +.sp +Supports binary protocol. +.sp +Supports facebook test (set with TCP and multi\-get with UDP) and replication test. +.SH DETAILS +.SS Effective implementation of network. +.sp +For memaslap, both TCP and UDP use non\-blocking network IO. All +the network events are managed by libevent as memcached. The network module +of memaslap is similar to memcached. Libevent can ensure +memaslap can handle network very efficiently. +.SS Effective implementation of multi\-threads and concurrency +.sp +Memslap has the similar implementation of multi\-threads to +memcached. Memslap creates one or more self\-governed threads; +each thread is bound with one CPU core if the system supports setting CPU +core affinity. +.sp +In addition, each thread has a libevent to manage the events of the network; +each thread has one or more self\-governed concurrencies; and each +concurrency has one or more socket connections. All the concurrencies don’t +communicate with each other even though they are in the same thread. +.sp +Memslap can create thousands of socket connections, and each +concurrency has tens of socket connections. Each concurrency randomly or +sequentially selects one socket connection from its socket connection pool +to run, so memaslap can ensure each concurrency handles one +socket connection at any given time. Users can specify the number of +concurrency and socket connections of each concurrency according to their +expected workload. +.SS Effective implementation of generating key and value +.sp +In order to improve time efficiency and space efficiency, +memaslap creates a random characters table with 10M characters. All the +suffixes of keys and values are generated from this random characters table. +.sp +Memslap uses the offset in the character table and the length +of the string to identify a string. It can save much memory. +Each key contains two parts, a prefix and a suffix. The prefix is an +uint64_t, 8 bytes. In order to verify the data set before, +memaslap need to ensure each key is unique, so it uses the prefix to identify +a key. The prefix cannot include illegal characters, such as ‘r’, ‘n’, +‘0’ and ‘ ‘. And memaslap has an algorithm to ensure that. +.sp +Memslap doesn’t generate all the objects (key\-value pairs) at +the beginning. It only generates enough objects to fill the task window +(default 10K objects) of each concurrency. Each object has the following +basic information, key prefix, key suffix offset in the character table, key +length, value offset in the character table, and value length. +.sp +In the work process, each concurrency sequentially or randomly selects an +object from the window to do set operation or get operation. At the same +time, each concurrency kicks objects out of its window and adds new object +into it. +.SS Simple but useful task scheduling +.sp +Memslap uses libevent to schedule all the concurrencies of +threads, and each concurrency schedules tasks based on the local task +window. Memslap assumes that if each concurrency keeps the same +key distribution, value distribution and commands distribution, from +outside, memaslap keeps all the distribution as a whole. +Each task window includes a lot of objects, each object stores its basic +information, such as key, value, expire time, and so on. At any time, all +the objects in the window keep the same and fixed key and value +distribution. If an object is overwritten, the value of the object will be +updated. Memslap verifies the data or expire\-time according to +the object information stored in the task window. +.sp +Libevent selects which concurrency to handle based on a specific network +event. Then the concurrency selects which command (get or set) to operate +based on the command distribution. If it needs to kick out an old object and +add a new object, in order to keep the same key and value distribution, the +new object must have the same key length and value length. +.sp +If memcached server has two cache layers (memory and SSD), running +memaslap with different window sizes can get different cache +miss rates. If memaslap adds enough objects into the windows at +the beginning, and the cache of memcached cannot store all the objects +initialized, then memaslap will get some objects from the second +cache layer. It causes the first cache layer to miss. So the user can +specify the window size to get the expected miss rate of the first cache +layer. +.SS Useful implementation of multi\-servers , UDP, TCP, multi\-get and binary protocol +.sp +Because each thread is self\-governed, memaslap can assign +different threads to handle different memcached servers. This is just one of +the ways in which memaslap supports multiple servers. The only +limitation is that the number of servers cannot be greater than the number +of threads. The other way to support multiple servers is for replication +test. Each concurrency has one socket connection to each memcached server. +For the implementation, memaslap can set some objects to one +memcached server, and get these objects from the other servers. +.sp +By default, Memslap does single get. If the user specifies +multi\-get option, memaslap will collect enough get commands and +pack and send the commands together. +.sp +Memslap supports both the ASCII protocol and binary protocol, +but it runs on the ASCII protocol by default. +Memslap by default runs on the TCP protocol, but it also +supports UDP. Because UDP is unreliable, dropped packages and out\-of\-order +packages may occur. Memslap creates a memory buffer to handle +these problems. Memslap tries to read all the response data of +one command from the server and reorders the response data. If some packages +get lost, the waiting timeout mechanism can ensure half\-baked packages will +be discarded and the next command will be sent. +.SH USAGE +.sp +Below are some usage samples: +.sp +memaslap \-s 127.0.0.1:11211 \-S 5s +.sp +memaslap \-s 127.0.0.1:11211 \-t 2m \-v 0.2 \-e 0.05 \-b +.sp +memaslap \-s 127.0.0.1:11211 \-F config \-t 2m \-w 40k \-S 20s \-o 0.2 +.sp +memaslap \-s 127.0.0.1:11211 \-F config \-t 2m \-T 4 \-c 128 \-d 20 \-P 40k +.sp +memaslap \-s 127.0.0.1:11211 \-F config \-t 2m \-d 50 \-a \-n 40 +.sp +memaslap \-s 127.0.0.1:11211,127.0.0.1:11212 \-F config \-t 2m +.sp +memaslap \-s 127.0.0.1:11211,127.0.0.1:11212 \-F config \-t 2m \-p 2 +.sp +The user must specify one server at least to run memaslap. The +rest of the parameters have default values, as shown below: +.sp +Thread number = 1 Concurrency = 16 +.sp +Run time = 600 seconds Configuration file = NULL +.sp +Key size = 64 Value size = 1024 +.sp +Get/set = 9:1 Window size = 10k +.sp +Execute number = 0 Single get = true +.sp +Multi\-get = false Number of sockets of each concurrency = 1 +.sp +Reconnect = false Data verification = false +.sp +Expire\-time verification = false ASCII protocol = true +.sp +Binary protocol = false Dumping statistic information +.sp +periodically = false +.sp +Overwrite proportion = 0% UDP = false +.sp +TCP = true Limit throughput = false +.sp +Facebook test = false Replication test = false +.SS Key size, value size and command distribution. +.sp +All the distributions are read from the configuration file specified by user +with “—cfg_cmd” option. If the user does not specify a configuration file, +memaslap will run with the default distribution (key size = 64, +value size = 1024, get/set = 9:1). For information on how to edit the +configuration file, refer to the “Configuration File” section. +.sp +The minimum key size is 16 bytes; the maximum key size is 250 bytes. The +precision of proportion is 0.001. The proportion of distribution will be +rounded to 3 decimal places. +.sp +The minimum value size is 1 bytes; the maximum value size is 1M bytes. The +precision of proportion is 0.001. The proportion of distribution will be +rounded to 3 decimal places. +Currently, memaslap only supports set and get commands. And it +supports 100% set and 100% get. For 100% get, it will preset some objects to +the server. +.SS Multi\-thread and concurrency +.sp +The high performance of memaslap benefits from the special +schedule of thread and concurrency. It’s important to specify the proper +number of them. The default number of threads is 1; the default number of +concurrency is 16. The user can use “—threads” and “\-\-concurrency” to +specify these variables. +.sp +If the system supports setting CPU affinity and the number of threads +specified by the user is greater than 1, memaslap will try to +bind each thread to a different CPU core. So if you want to get the best +performance memaslap, it is better to specify the number of +thread equal to the number of CPU cores. The number of threads specified by +the user can also be less or greater than the number of CPU cores. Because +of the limitation of implementation, the number of concurrencies could be +the multiple of the number of threads. +.INDENT 0.0 +.IP 1. 3 +. +For 8 CPU cores system +.UNINDENT +.sp +For example: +.sp +\-\-threads=2 \-\-concurrency=128 +.sp +\-\-threads=8 \-\-concurrency=128 +.sp +\-\-threads=8 \-\-concurrency=256 +.sp +\-\-threads=12 \-\-concurrency=144 +.INDENT 0.0 +.IP 2. 3 +. +For 16 CPU cores system +.UNINDENT +.sp +For example: +.sp +\-\-threads=8 \-\-concurrency=128 +.sp +\-\-threads=16 \-\-concurrency=256 +.sp +\-\-threads=16 \-\-concurrency=512 +.sp +\-\-threads=24 \-\-concurrency=288 +.sp +The memaslap performs very well, when +used to test the performance of memcached servers. +Most of the time, the bottleneck is the network or +the server. If for some reason the user wants to +limit the performance of memaslap, there +are two ways to do this: +.sp +Decrease the number of threads and concurrencies. +Use the option “\-\-tps” that memaslap +provides to limit the throughput. This option allows +the user to get the expected throughput. For +example, assume that the maximum throughput is 50 +kops/s for a specific configuration, you can specify +the throughput equal to or less than the maximum +throughput using “\-\-tps” option. +.SS Window size +.sp +Most of the time, the user does not need to specify the window size. The +default window size is 10k. For Schooner Memcached, the user can specify +different window sizes to get different cache miss rates based on the test +case. Memslap supports cache miss rate between 0% and 100%. +If you use this utility to test the performance of Schooner Memcached, you +can specify a proper window size to get the expected cache miss rate. The +formula for calculating window size is as follows: +.sp +Assume that the key size is 128 bytes, and the value size is 2048 bytes, and +concurrency=128. +.sp +1. Small cache cache_size=1M, 100% cache miss (all data get from SSD). +win_size=10k +.INDENT 0.0 +.IP 2. 3 +. +cache_size=4G +.UNINDENT +.sp +(1). cache miss rate 0% +.sp +win_size=8k +.sp +(2). cache miss rate 5% +.sp +win_size=11k +.INDENT 0.0 +.IP 3. 3 +. +cache_size=16G +.UNINDENT +.sp +(1). cache miss rate 0% +.sp +win_size=32k +.sp +(2). cache miss +.sp +rate 5% +.sp +win_size=46k +.sp +The formula for calculating window size for cache miss rate 0%: +.sp +cache_size / concurrency / (key_size + value_size) * 0.5 +.sp +The formula for calculating window size for cache miss rate 5%: +.sp +cache_size / concurrency / (key_size + value_size) * 0.7 +.SS Verification +.sp +Memslap supports both data verification and expire\-time +verification. The user can use "\-\-verify=" or "\-v" to specify the proportion +of data verification. In theory, it supports 100% data verification. The +user can use "\-\-exp_verify=" or "\-e" to specify the proportion of +expire\-time verification. In theory, it supports 100% expire\-time +verification. Specify the "\-\-verbose" options to get more detailed error +information. +.sp +For example: \-\-exp_verify=0.01 –verify=0.1 , it means that 1% of the objects +set with expire\-time, 10% of the objects gotten will be verified. If the +objects are gotten, memaslap will verify the expire\-time and +value. +.SS multi\-servers and multi\-clients +.sp +Memslap supports multi\-servers based on self\-governed thread. +There is a limitation that the number of servers cannot be greater than the +number of threads. Memslap assigns one thread to handle one +server at least. The user can use the "\-\-servers=" or "\-s" option to specify +multi\-servers. +.sp +For example: +.sp +\-\-servers=10.1.1.1:11211,10.1.1.2:11212,10.1.1.3:11213 \-\-threads=6 \-\-concurrency=36 +.sp +The above command means that there are 6 threads, with each thread having 6 +concurrencies and that threads 0 and 3 handle server 0 (10.1.1.1); threads 1 +and 4 handle server 1 (10.1.1.2); and thread 2 and 5 handle server 2 +(10.1.1.3). +.sp +All the threads and concurrencies in memaslap are self\-governed. +.sp +So is memaslap. The user can start up several +memaslap instances. The user can run memaslap on different client +machines to communicate with the same memcached server at the same. It is +recommended that the user start different memaslap on different +machines using the same configuration. +.SS Run with execute number mode or time mode +.sp +The default memaslap runs with time mode. The default run time +is 10 minutes. If it times out, memaslap will exit. Do not +specify both execute number mode and time mode at the same time; just +specify one instead. +.sp +For example: +.sp +\-\-time=30s (It means the test will run 30 seconds.) +.sp +\-\-execute_number=100000 (It means that after running 100000 commands, the test will exit.) +.SS Dump statistic information periodically. +.sp +The user can use "\-\-stat_freq=" or "\-S" to specify the frequency. +.sp +For example: +.sp +\-\-stat_freq=20s +.sp +Memslap will dump the statistics of the commands (get and set) at the frequency of every 20 +seconds. +.sp +For more information on the format of dumping statistic information, refer to “Format of Output” section. +.SS Multi\-get +.sp +The user can use "\-\-division=" or "\-d" to specify multi\-get keys count. +Memslap by default does single get with TCP. Memslap also supports data +verification and expire\-time verification for multi\-get. +.sp +Memslap supports multi\-get with both TCP and UDP. Because of +the different implementation of the ASCII protocol and binary protocol, +there are some differences between the two. For the ASCII protocol, +memaslap sends one “multi\-get” to the server once. For the +binary protocol, memaslap sends several single get commands +together as “multi\-get” to the server. +.SS UDP and TCP +.sp +Memslap supports both UDP and TCP. For TCP, +memaslap does not reconnect the memcached server if socket connections are +lost. If all the socket connections are lost or memcached server crashes, +memaslap will exit. If the user specifies the “\-\-reconnect” +option when socket connections are lost, it will reconnect them. +.sp +User can use “\-\-udp” to enable the UDP feature, but UDP comes with some +limitations: +.sp +UDP cannot set data more than 1400 bytes. +.sp +UDP is not supported by the binary protocol because the binary protocol of +memcached does not support that. +.sp +UDP doesn’t support reconnection. +.SS Facebook test +.sp +Set data with TCP and multi\-get with UDP. Specify the following options: +.sp +"\-\-facebook \-\-division=50" +.sp +If you want to create thousands of TCP connections, specify the +.sp +"\-\-conn_sock=" option. +.sp +For example: \-\-facebook \-\-division=50 \-\-conn_sock=200 +.sp +The above command means that memaslap will do facebook test, +each concurrency has 200 socket TCP connections and one UDP socket. +.sp +Memslap sets objects with the TCP socket, and multi\-gets 50 +objects once with the UDP socket. +.sp +If you specify "\-\-division=50", the key size must be less that 25 bytes +because the UDP packet size is 1400 bytes. +.SS Replication test +.sp +For replication test, the user must specify at least two memcached servers. +The user can use “—rep_write=” option to enable feature. +.sp +For example: +.sp +\-\-servers=10.1.1.1:11211,10.1.1.2:11212 –rep_write=2 +.sp +The above command means that there are 2 replication memcached servers, +memaslap will set objects to both server 0 and server 1, get +objects which are set to server 0 before from server 1, and also get objects +which are set to server 1 before from server 0. If server 0 crashes, +memaslap will only get objects from server 1. If server 0 comes +back to life again, memaslap will reconnect server 0. If both +server 0 and server 1 crash, memaslap will exit. +.SS Supports thousands of TCP connections +.sp +Start memaslap with "\-\-conn_sock=" or "\-n" to enable this +feature. Make sure that your system can support opening thousands of files +and creating thousands of sockets. However, this feature does not support +reconnection if sockets disconnect. +.sp +For example: +.sp +\-\-threads=8 \-\-concurrency=128 \-\-conn_sock=128 +.sp +The above command means that memaslap starts up 8 threads, each +thread has 16 concurrencies, each concurrency has 128 TCP socket +connections, and the total number of TCP socket connections is 128 * 128 = +16384. +.SS Supports binary protocol +.sp +Start memaslap with "\-\-binary" or "\-B" options to enable this +feature. It supports all the above features except UDP, because the latest +memcached 1.3.3 does not implement binary UDP protocol. +.sp +For example: +.sp +\-\-binary +.sp +Since memcached 1.3.3 doesn\(aqt implement binary UDP protocol, +memaslap does not support UDP. In addition, memcached 1.3.3 does not support +multi\-get. If you specify "\-\-division=50" option, it just sends 50 get +commands together as “mulit\-get” to the server. +.SH CONFIGURATION FILE +.sp +This section describes the format of the configuration file. By default +when no configuration file is specified memaslap reads the default +one located at ~/.memaslap.cnf. +.sp +Below is a sample configuration file: +.sp +.nf +.ft C +*************************************************************************** +#comments should start with \(aq#\(aq +#key +#start_len end_len proportion +# +#key length range from start_len to end_len +#start_len must be equal to or greater than 16 +#end_len must be equal to or less than 250 +#start_len must be equal to or greater than end_len +#memaslap will generate keys according to the key range +#proportion: indicates keys generated from one range accounts for the total +generated keys +# +#example1: key range 16~100 accounts for 80% +# key range 101~200 accounts for 10% +# key range 201~250 accounts for 10% +# total should be 1 (0.8+0.1+0.1 = 1) +# +# 16 100 0.8 +# 101 200 0.1 +# 201 249 0.1 +# +#example2: all keys length are 128 bytes +# +# 128 128 1 +key +128 128 1 +#value +#start_len end_len proportion +# +#value length range from start_len to end_len +#start_len must be equal to or greater than 1 +#end_len must be equal to or less than 1M +#start_len must be equal to or greater than end_len +#memaslap will generate values according to the value range +#proportion: indicates values generated from one range accounts for the +total generated values +# +#example1: value range 1~1000 accounts for 80% +# value range 1001~10000 accounts for 10% +# value range 10001~100000 accounts for 10% +# total should be 1 (0.8+0.1+0.1 = 1) +# +# 1 1000 0.8 +# 1001 10000 0.1 +# 10001 100000 0.1 +# +#example2: all value length are 128 bytes +# +# 128 128 1 +value +2048 2048 1 +#cmd +#cmd_type cmd_proportion +# +#currently memaslap only supports get and set command. +# +#cmd_type +#set 0 +#get 1 +# +#example: set command accounts for 50% +# get command accounts for 50% +# total should be 1 (0.5+0.5 = 1) +# +# cmd +# 0 0.5 +# 1 0.5 +cmd +0 0.1 +1.0 0.9 +.ft P +.fi +.SH FORMAT OF OUTPUT +.sp +At the beginning, memaslap displays some configuration information as follows: +.sp +servers : 127.0.0.1:11211 +.sp +threads count: 1 +.sp +concurrency: 16 +.sp +run time: 20s +.sp +windows size: 10k +.sp +set proportion: set_prop=0.10 +.sp +get proportion: get_prop=0.90 +.SS Where +.sp +servers : "servers" +.INDENT 0.0 +.INDENT 3.5 +.sp +The servers used by memaslap. +.UNINDENT +.UNINDENT +.sp +threads count +.INDENT 0.0 +.INDENT 3.5 +.sp +The number of threads memaslap runs with. +.UNINDENT +.UNINDENT +.sp +concurrency +.INDENT 0.0 +.INDENT 3.5 +.sp +The number of concurrencies memaslap runs with. +.UNINDENT +.UNINDENT +.sp +run time +.INDENT 0.0 +.INDENT 3.5 +.sp +How long to run memaslap. +.UNINDENT +.UNINDENT +.sp +windows size +.INDENT 0.0 +.INDENT 3.5 +.sp +The task window size of each concurrency. +.UNINDENT +.UNINDENT +.sp +set proportion +.INDENT 0.0 +.INDENT 3.5 +.sp +The proportion of set command. +.UNINDENT +.UNINDENT +.sp +get proportion +.INDENT 0.0 +.INDENT 3.5 +.sp +The proportion of get command. +.UNINDENT +.UNINDENT +.sp +The output of dynamic statistics is something like this: +.sp +.nf +.ft C +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- +Get Statistics +Type Time(s) Ops TPS(ops/s) Net(M/s) Get_miss Min(us) Max(us) +Avg(us) Std_dev Geo_dist +Period 5 345826 69165 65.3 0 27 2198 203 +95.43 177.29 +Global 20 1257935 62896 71.8 0 26 3791 224 +117.79 192.60 + + +Set Statistics +Type Time(s) Ops TPS(ops/s) Net(M/s) Get_miss Min(us) Max(us) +Avg(us) Std_dev Geo_dist +Period 5 38425 7685 7.3 0 42 628 240 +88.05 220.21 +Global 20 139780 6989 8.0 0 37 3790 253 +117.93 224.83 + + +Total Statistics +Type Time(s) Ops TPS(ops/s) Net(M/s) Get_miss Min(us) Max(us) +Avg(us) Std_dev Geo_dist +Period 5 384252 76850 72.5 0 27 2198 207 +94.72 181.18 +Global 20 1397720 69886 79.7 0 26 3791 227 +117.93 195.60 +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- +.ft P +.fi +.SS Where +.sp +Get Statistics +.INDENT 0.0 +.INDENT 3.5 +.sp +Statistics information of get command +.UNINDENT +.UNINDENT +.sp +Set Statistics +.INDENT 0.0 +.INDENT 3.5 +.sp +Statistics information of set command +.UNINDENT +.UNINDENT +.sp +Total Statistics +.INDENT 0.0 +.INDENT 3.5 +.sp +Statistics information of both get and set command +.UNINDENT +.UNINDENT +.sp +Period +.INDENT 0.0 +.INDENT 3.5 +.sp +Result within a period +.UNINDENT +.UNINDENT +.sp +Global +.INDENT 0.0 +.INDENT 3.5 +.sp +Accumulated results +.UNINDENT +.UNINDENT +.sp +Ops +.INDENT 0.0 +.INDENT 3.5 +.sp +Total operations +.UNINDENT +.UNINDENT +.sp +TPS +.INDENT 0.0 +.INDENT 3.5 +.sp +Throughput, operations/second +.UNINDENT +.UNINDENT +.sp +Net +.INDENT 0.0 +.INDENT 3.5 +.sp +The rate of network +.UNINDENT +.UNINDENT +.sp +Get_miss +.INDENT 0.0 +.INDENT 3.5 +.sp +How many objects can’t be gotten +.UNINDENT +.UNINDENT +.sp +Min +.INDENT 0.0 +.INDENT 3.5 +.sp +The minimum response time +.UNINDENT +.UNINDENT +.sp +Max +.INDENT 0.0 +.INDENT 3.5 +.sp +The maximum response time +.UNINDENT +.UNINDENT +.sp +Avg: +.INDENT 0.0 +.INDENT 3.5 +.sp +The average response time +.UNINDENT +.UNINDENT +.sp +Std_dev +.INDENT 0.0 +.INDENT 3.5 +.sp +Standard deviation of response time +.UNINDENT +.UNINDENT +.sp +Geo_dist +.INDENT 0.0 +.INDENT 3.5 +.sp +Geometric distribution based on natural exponential function +.UNINDENT +.UNINDENT +.sp +At the end, memaslap will output something like this: +.sp +.nf +.ft C +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- +Get Statistics (1257956 events) + Min: 26 + Max: 3791 + Avg: 224 + Geo: 192.60 + Std: 116.23 + Log2 Dist: + 4: 0 10 84490 215345 + 8: 484890 459823 12543 824 + 12: 31 + + Set Statistics (139782 events) + Min: 37 + Max: 3790 + Avg: 253 + Geo: 224.84 + Std: 116.83 + Log2 Dist: + 4: 0 0 4200 16988 + 8: 50784 65574 2064 167 + 12: 5 + + Total Statistics (1397738 events) + Min: 26 + Max: 3791 + Avg: 227 + Geo: 195.60 + Std: 116.60 + Log2 Dist: + 4: 0 10 88690 232333 + 8: 535674 525397 14607 991 + 12: 36 + +cmd_get: 1257969 +cmd_set: 139785 +get_misses: 0 +verify_misses: 0 +verify_failed: 0 +expired_get: 0 +unexpired_unget: 0 +written_bytes: 242516030 +read_bytes: 1003702556 +object_bytes: 152086080 +packet_disorder: 0 +packet_drop: 0 +udp_timeout: 0 + +Run time: 20.0s Ops: 1397754 TPS: 69817 Net_rate: 59.4M/s +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- +.ft P +.fi +.SS Where +.sp +Get Statistics +.INDENT 0.0 +.INDENT 3.5 +.sp +Get statistics of response time +.UNINDENT +.UNINDENT +.sp +Set Statistics +.INDENT 0.0 +.INDENT 3.5 +.sp +Set statistics of response time +.UNINDENT +.UNINDENT +.sp +Total Statistics +.INDENT 0.0 +.INDENT 3.5 +.sp +Both get and set statistics of response time +.UNINDENT +.UNINDENT +.sp +Min +.INDENT 0.0 +.INDENT 3.5 +.sp +The accumulated and minimum response time +.UNINDENT +.UNINDENT +.sp +Max +.INDENT 0.0 +.INDENT 3.5 +.sp +The accumulated and maximum response time +.UNINDENT +.UNINDENT +.sp +Avg +.INDENT 0.0 +.INDENT 3.5 +.sp +The accumulated and average response time +.UNINDENT +.UNINDENT +.sp +Std +.INDENT 0.0 +.INDENT 3.5 +.sp +Standard deviation of response time +.UNINDENT +.UNINDENT +.sp +Log2 Dist +.INDENT 0.0 +.INDENT 3.5 +.sp +Geometric distribution based on logarithm 2 +.UNINDENT +.UNINDENT +.sp +cmd_get +.INDENT 0.0 +.INDENT 3.5 +.sp +Total get commands done +.UNINDENT +.UNINDENT +.sp +cmd_set +.INDENT 0.0 +.INDENT 3.5 +.sp +Total set commands done +.UNINDENT +.UNINDENT +.sp +get_misses +.INDENT 0.0 +.INDENT 3.5 +.sp +How many objects can’t be gotten from server +.UNINDENT +.UNINDENT +.sp +verify_misses +.INDENT 0.0 +.INDENT 3.5 +.sp +How many objects need to verify but can’t get them +.UNINDENT +.UNINDENT +.sp +verify_failed +.INDENT 0.0 +.INDENT 3.5 +.sp +How many objects with insistent value +.UNINDENT +.UNINDENT +.sp +expired_get +.INDENT 0.0 +.INDENT 3.5 +.sp +How many objects are expired but we get them +.UNINDENT +.UNINDENT +.sp +unexpired_unget +.INDENT 0.0 +.INDENT 3.5 +.sp +How many objects are unexpired but we can’t get them +.UNINDENT +.UNINDENT +.sp +written_bytes +.INDENT 0.0 +.INDENT 3.5 +.sp +Total written bytes +.UNINDENT +.UNINDENT +.sp +read_bytes +.INDENT 0.0 +.INDENT 3.5 +.sp +Total read bytes +.UNINDENT +.UNINDENT +.sp +object_bytes +.INDENT 0.0 +.INDENT 3.5 +.sp +Total object bytes +.UNINDENT +.UNINDENT +.sp +packet_disorder +.INDENT 0.0 +.INDENT 3.5 +.sp +How many UDP packages are disorder +.UNINDENT +.UNINDENT +.sp +packet_drop +.INDENT 0.0 +.INDENT 3.5 +.sp +How many UDP packages are lost +.UNINDENT +.UNINDENT +.sp +udp_timeout +.INDENT 0.0 +.INDENT 3.5 +.sp +How many times UDP time out happen +.UNINDENT +.UNINDENT +.sp +Run time +.INDENT 0.0 +.INDENT 3.5 +.sp +Total run time +.UNINDENT +.UNINDENT +.sp +Ops +.INDENT 0.0 +.INDENT 3.5 +.sp +Total operations +.UNINDENT +.UNINDENT +.sp +TPS +.INDENT 0.0 +.INDENT 3.5 +.sp +Throughput, operations/second +.UNINDENT +.UNINDENT +.sp +Net_rate +.INDENT 0.0 +.INDENT 3.5 +.sp +The average rate of network +.UNINDENT +.UNINDENT +.SH OPTIONS +.INDENT 0.0 +.TP +.B \-s, \-\-servers= +. +List one or more servers to connect. Servers count must be less than +threads count. e.g.: \-\-servers=localhost:1234,localhost:11211 +.TP +.B \-T, \-\-threads= +. +Number of threads to startup, better equal to CPU numbers. Default 8. +.TP +.B \-c, \-\-concurrency= +. +Number of concurrency to simulate with load. Default 128. +.TP +.B \-n, \-\-conn_sock= +. +Number of TCP socks per concurrency. Default 1. +.TP +.B \-x, \-\-execute_number= +. +Number of operations(get and set) to execute for the +given test. Default 1000000. +.TP +.B \-t, \-\-time= +. +How long the test to run, suffix: s\-seconds, m\-minutes, h\-hours, +d\-days e.g.: \-\-time=2h. +.TP +.B \-F, \-\-cfg_cmd= +. +Load the configure file to get command,key and value distribution list. +.TP +.B \-w, \-\-win_size= +. +Task window size of each concurrency, suffix: K, M e.g.: \-\-win_size=10k. +Default 10k. +.TP +.B \-X, \-\-fixed_size= +. +Fixed length of value. +.TP +.B \-v, \-\-verify= +. +The proportion of date verification, e.g.: \-\-verify=0.01 +.TP +.B \-d, \-\-division= +. +Number of keys to multi\-get once. Default 1, means single get. +.TP +.B \-S, \-\-stat_freq= +. +Frequency of dumping statistic information. suffix: s\-seconds, +m\-minutes, e.g.: \-\-resp_freq=10s. +.TP +.B \-e, \-\-exp_verify= +. +The proportion of objects with expire time, e.g.: \-\-exp_verify=0.01. +Default no object with expire time +.TP +.B \-o, \-\-overwrite= +. +The proportion of objects need overwrite, e.g.: \-\-overwrite=0.01. +Default never overwrite object. +.UNINDENT +.INDENT 0.0 +.TP +.B \-R, \-\-reconnect +. +Reconnect support, when connection is closed it will be reconnected. +.TP +.B \-U, \-\-udp +. +UDP support, default memaslap uses TCP, TCP port and UDP port of +server must be same. +.TP +.B \-a, \-\-facebook +. +Whether it enables facebook test feature, set with TCP and multi\-get with UDP. +.TP +.B \-B, \-\-binary +. +Whether it enables binary protocol. Default with ASCII protocol. +.UNINDENT +.INDENT 0.0 +.TP +.B \-P, \-\-tps= +. +Expected throughput, suffix: K, e.g.: \-\-tps=10k. +.TP +.B \-p, \-\-rep_write= +. +The first nth servers can write data, e.g.: \-\-rep_write=2. +.UNINDENT +.INDENT 0.0 +.TP +.B \-b, \-\-verbose +. +Whether it outputs detailed information when verification fails. +.TP +.B \-h, \-\-help +. +Display this message and then exit. +.TP +.B \-V, \-\-version +. +Display the version of the application and then exit. +.UNINDENT +.SH EXAMPLES +.sp +memaslap \-s 127.0.0.1:11211 \-S 5s +.sp +memaslap \-s 127.0.0.1:11211 \-t 2m \-v 0.2 \-e 0.05 \-b +.sp +memaslap \-s 127.0.0.1:11211 \-F config \-t 2m \-w 40k \-S 20s \-o 0.2 +.sp +memaslap \-s 127.0.0.1:11211 \-F config \-t 2m \-T 4 \-c 128 \-d 20 \-P 40k +.sp +memaslap \-s 127.0.0.1:11211 \-F config \-t 2m \-d 50 \-a \-n 40 +.sp +memaslap \-s 127.0.0.1:11211,127.0.0.1:11212 \-F config \-t 2m +.sp +memaslap \-s 127.0.0.1:11211,127.0.0.1:11212 \-F config \-t 2m \-p 2 +.SH HOME +.sp +To find out more information please check: +\fI\%http://launchpad.org/libmemcached\fP +.SH AUTHORS +.sp +Mingqiang Zhuang <\fI\%mingqiangzhuang@hengtiansoft.com\fP> (Schooner Technolgy) +Brian Aker, <\fI\%brian@tangent.org\fP> +.SH SEE ALSO +.sp +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP +.SH AUTHOR +Brian Aker +.SH COPYRIGHT +2011, Brian Aker +.\" Generated by docutils manpage writer. +.\" +. diff --git a/docs/man/memcached_add.3 b/docs/man/memcached_add.3 index bda9cecd..40857986 100644 --- a/docs/man/memcached_add.3 +++ b/docs/man/memcached_add.3 @@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to store information on the server. All methods take a key, and its length to store the object. Keys are currently limited to 250 characters by the memcached(1) server. You must also supply a value and a length. Optionally you -may support an expiration time for the object and a 16 byte value (it is +may tests an expiration time for the object and a 16 byte value (it is meant to be used as a bitmap). .sp memcached_set() will write an object to the server. If an object already @@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server. memcached_cas() overwrites data in the server as long as the "cas" value is still the same in the server. You can get the cas value of a result by calling memcached_result_cas() on a memcached_result_st(3) structure. At the point -that this note was written cas is still buggy in memached. Turning on support +that this note was written cas is still buggy in memached. Turning on tests for it in libmemcached(3) is optional. Please see memcached_set() for information on how to do this. .sp @@ -175,7 +175,7 @@ objects to particular servers. If you are looking for performance, memcached_set() with non\-blocking IO is the fastest way to store data on the server. .sp -All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there +All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there are limits to the size of the payload being sent to the server. The reason for these limits is that the Memcahed Server does not allow multi\-datagram requests and the current server implementation sets a datagram size to 1400 bytes. Due @@ -201,9 +201,6 @@ legitmate error in the case of a collision. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp memcached(1) libmemached(3) memcached_strerror(3) diff --git a/docs/man/memcached_add_by_key.3 b/docs/man/memcached_add_by_key.3 index 0d6579dc..b1ff99d3 100644 --- a/docs/man/memcached_add_by_key.3 +++ b/docs/man/memcached_add_by_key.3 @@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to store information on the server. All methods take a key, and its length to store the object. Keys are currently limited to 250 characters by the memcached(1) server. You must also supply a value and a length. Optionally you -may support an expiration time for the object and a 16 byte value (it is +may tests an expiration time for the object and a 16 byte value (it is meant to be used as a bitmap). .sp memcached_set() will write an object to the server. If an object already @@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server. memcached_cas() overwrites data in the server as long as the "cas" value is still the same in the server. You can get the cas value of a result by calling memcached_result_cas() on a memcached_result_st(3) structure. At the point -that this note was written cas is still buggy in memached. Turning on support +that this note was written cas is still buggy in memached. Turning on tests for it in libmemcached(3) is optional. Please see memcached_set() for information on how to do this. .sp @@ -175,7 +175,7 @@ objects to particular servers. If you are looking for performance, memcached_set() with non\-blocking IO is the fastest way to store data on the server. .sp -All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there +All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there are limits to the size of the payload being sent to the server. The reason for these limits is that the Memcahed Server does not allow multi\-datagram requests and the current server implementation sets a datagram size to 1400 bytes. Due @@ -201,9 +201,6 @@ legitmate error in the case of a collision. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp memcached(1) libmemached(3) memcached_strerror(3) diff --git a/docs/man/memcached_analyze.3 b/docs/man/memcached_analyze.3 index 1799163b..80f37b7c 100644 --- a/docs/man/memcached_analyze.3 +++ b/docs/man/memcached_analyze.3 @@ -71,12 +71,9 @@ memory allocated for it. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Toru Maesaka, <\fI\%dev@torum.net\fP> .SH SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_append.3 b/docs/man/memcached_append.3 index 87bd2ec8..c28c9c0f 100644 --- a/docs/man/memcached_append.3 +++ b/docs/man/memcached_append.3 @@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to store information on the server. All methods take a key, and its length to store the object. Keys are currently limited to 250 characters by the memcached(1) server. You must also supply a value and a length. Optionally you -may support an expiration time for the object and a 16 byte value (it is +may tests an expiration time for the object and a 16 byte value (it is meant to be used as a bitmap). .sp memcached_set() will write an object to the server. If an object already @@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server. memcached_cas() overwrites data in the server as long as the "cas" value is still the same in the server. You can get the cas value of a result by calling memcached_result_cas() on a memcached_result_st(3) structure. At the point -that this note was written cas is still buggy in memached. Turning on support +that this note was written cas is still buggy in memached. Turning on tests for it in libmemcached(3) is optional. Please see memcached_set() for information on how to do this. .sp @@ -175,7 +175,7 @@ objects to particular servers. If you are looking for performance, memcached_set() with non\-blocking IO is the fastest way to store data on the server. .sp -All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there +All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there are limits to the size of the payload being sent to the server. The reason for these limits is that the Memcahed Server does not allow multi\-datagram requests and the current server implementation sets a datagram size to 1400 bytes. Due @@ -201,9 +201,6 @@ legitmate error in the case of a collision. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp memcached(1) libmemached(3) memcached_strerror(3) diff --git a/docs/man/memcached_append_by_key.3 b/docs/man/memcached_append_by_key.3 index f7346372..23384276 100644 --- a/docs/man/memcached_append_by_key.3 +++ b/docs/man/memcached_append_by_key.3 @@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to store information on the server. All methods take a key, and its length to store the object. Keys are currently limited to 250 characters by the memcached(1) server. You must also supply a value and a length. Optionally you -may support an expiration time for the object and a 16 byte value (it is +may tests an expiration time for the object and a 16 byte value (it is meant to be used as a bitmap). .sp memcached_set() will write an object to the server. If an object already @@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server. memcached_cas() overwrites data in the server as long as the "cas" value is still the same in the server. You can get the cas value of a result by calling memcached_result_cas() on a memcached_result_st(3) structure. At the point -that this note was written cas is still buggy in memached. Turning on support +that this note was written cas is still buggy in memached. Turning on tests for it in libmemcached(3) is optional. Please see memcached_set() for information on how to do this. .sp @@ -175,7 +175,7 @@ objects to particular servers. If you are looking for performance, memcached_set() with non\-blocking IO is the fastest way to store data on the server. .sp -All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there +All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there are limits to the size of the payload being sent to the server. The reason for these limits is that the Memcahed Server does not allow multi\-datagram requests and the current server implementation sets a datagram size to 1400 bytes. Due @@ -201,9 +201,6 @@ legitmate error in the case of a collision. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp memcached(1) libmemached(3) memcached_strerror(3) diff --git a/docs/man/memcached_auto.3 b/docs/man/memcached_auto.3 index c3b5d514..acd77021 100644 --- a/docs/man/memcached_auto.3 +++ b/docs/man/memcached_auto.3 @@ -35,7 +35,7 @@ Manipulate counters .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -108,7 +108,7 @@ memcached_return_t uint64_t *value); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached(1) servers have the ability to increment and decrement keys (overflow and underflow are not detected). This gives you the ability to use @@ -156,9 +156,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_behavior.3 b/docs/man/memcached_behavior.3 index 89f6c829..2524ab84 100644 --- a/docs/man/memcached_behavior.3 +++ b/docs/man/memcached_behavior.3 @@ -35,7 +35,7 @@ Manipulate behavior .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -51,7 +51,7 @@ memcached_return_t uint64_t data); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) behavior can be modified by use memcached_behavior_set(). Default behavior is the library strives to be quick and accurate. Some @@ -72,14 +72,14 @@ MEMCACHED_BEHAVIOR_USE_UDP .INDENT 3.5 .sp Causes libmemcached(3) to use the UDP transport when communicating -with a memcached server. Not all I/O operations are supported +with a memcached server. Not all I/O operations are testsed when this behavior is enababled. The following operations will return \fBMEMCACHED_NOT_SUPPORTED\fP when executed with the MEMCACHED_BEHAVIOR_USE_UDP enabled: memcached_version(), memcached_stat(), memcached_get(), memcached_get_by_key(), memcached_mget(), memcached_mget_by_key(), memcached_fetch(), memcached_fetch_result(), memcached_value_fetch(). .sp -All other operations are supported but are executed in a \(aqfire\-and\-forget\(aq +All other operations are testsed but are executed in a \(aqfire\-and\-forget\(aq mode, in which once the client has executed the operation, no attempt will be made to ensure the operation has been received and acted on by the server. @@ -136,7 +136,7 @@ MEMCACHED_BEHAVIOR_HASH Makes the default hashing algorithm for keys use MD5. The value can be set to either MEMCACHED_HASH_DEFAULT, MEMCACHED_HASH_MD5, MEMCACHED_HASH_CRC, MEMCACHED_HASH_FNV1_64, MEMCACHED_HASH_FNV1A_64, MEMCACHED_HASH_FNV1_32, MEMCACHED_HASH_FNV1A_32, MEMCACHED_HASH_JENKINS, MEMCACHED_HASH_HSIEH, and MEMCACHED_HASH_MURMUR. Each hash has it\(aqs advantages and it\(aqs weaknesses. If you don\(aqt know or don\(aqt care, just go with the default. -Support for MEMCACHED_HASH_HSIEH is a compile time option that is disabled by default. To enable support for this hashing algorithm, configure and build libmemcached with the \-\-enable\-hash_hsieh. +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 \-\-enable\-hash_hsieh. .UNINDENT .UNINDENT .sp @@ -183,7 +183,7 @@ MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED .INDENT 0.0 .INDENT 3.5 .sp -Sets the default distribution to MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA with the weighted support. +Sets the default distribution to MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA with the weighted tests. and the hash to MEMCACHED_HASH_MD5. .UNINDENT .UNINDENT @@ -363,7 +363,7 @@ MEMCACHED_BEHAVIOR_CORK Enable TCP_CORK behavior. This is only available as an option Linux. MEMCACHED_NO_SERVERS is returned if no servers are available to test with. MEMCACHED_NOT_SUPPORTED is returned if we were not able to determine -if support was available. All other responses then MEMCACHED_SUCCESS +if tests was available. All other responses then MEMCACHED_SUCCESS report an error of some sort. This behavior also enables MEMCACHED_BEHAVIOR_TCP_NODELAY when set. .UNINDENT @@ -456,9 +456,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_behavior_get.3 b/docs/man/memcached_behavior_get.3 index ed842d85..37ddd88b 100644 --- a/docs/man/memcached_behavior_get.3 +++ b/docs/man/memcached_behavior_get.3 @@ -35,7 +35,7 @@ Manipulate behavior .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -51,7 +51,7 @@ memcached_return_t uint64_t data); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) behavior can be modified by use memcached_behavior_set(). Default behavior is the library strives to be quick and accurate. Some @@ -72,14 +72,14 @@ MEMCACHED_BEHAVIOR_USE_UDP .INDENT 3.5 .sp Causes libmemcached(3) to use the UDP transport when communicating -with a memcached server. Not all I/O operations are supported +with a memcached server. Not all I/O operations are testsed when this behavior is enababled. The following operations will return \fBMEMCACHED_NOT_SUPPORTED\fP when executed with the MEMCACHED_BEHAVIOR_USE_UDP enabled: memcached_version(), memcached_stat(), memcached_get(), memcached_get_by_key(), memcached_mget(), memcached_mget_by_key(), memcached_fetch(), memcached_fetch_result(), memcached_value_fetch(). .sp -All other operations are supported but are executed in a \(aqfire\-and\-forget\(aq +All other operations are testsed but are executed in a \(aqfire\-and\-forget\(aq mode, in which once the client has executed the operation, no attempt will be made to ensure the operation has been received and acted on by the server. @@ -136,7 +136,7 @@ MEMCACHED_BEHAVIOR_HASH Makes the default hashing algorithm for keys use MD5. The value can be set to either MEMCACHED_HASH_DEFAULT, MEMCACHED_HASH_MD5, MEMCACHED_HASH_CRC, MEMCACHED_HASH_FNV1_64, MEMCACHED_HASH_FNV1A_64, MEMCACHED_HASH_FNV1_32, MEMCACHED_HASH_FNV1A_32, MEMCACHED_HASH_JENKINS, MEMCACHED_HASH_HSIEH, and MEMCACHED_HASH_MURMUR. Each hash has it\(aqs advantages and it\(aqs weaknesses. If you don\(aqt know or don\(aqt care, just go with the default. -Support for MEMCACHED_HASH_HSIEH is a compile time option that is disabled by default. To enable support for this hashing algorithm, configure and build libmemcached with the \-\-enable\-hash_hsieh. +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 \-\-enable\-hash_hsieh. .UNINDENT .UNINDENT .sp @@ -183,7 +183,7 @@ MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED .INDENT 0.0 .INDENT 3.5 .sp -Sets the default distribution to MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA with the weighted support. +Sets the default distribution to MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA with the weighted tests. and the hash to MEMCACHED_HASH_MD5. .UNINDENT .UNINDENT @@ -363,7 +363,7 @@ MEMCACHED_BEHAVIOR_CORK Enable TCP_CORK behavior. This is only available as an option Linux. MEMCACHED_NO_SERVERS is returned if no servers are available to test with. MEMCACHED_NOT_SUPPORTED is returned if we were not able to determine -if support was available. All other responses then MEMCACHED_SUCCESS +if tests was available. All other responses then MEMCACHED_SUCCESS report an error of some sort. This behavior also enables MEMCACHED_BEHAVIOR_TCP_NODELAY when set. .UNINDENT @@ -456,9 +456,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_behavior_set.3 b/docs/man/memcached_behavior_set.3 index 1bb6eded..2719ec7c 100644 --- a/docs/man/memcached_behavior_set.3 +++ b/docs/man/memcached_behavior_set.3 @@ -35,7 +35,7 @@ Manipulate behavior .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -51,7 +51,7 @@ memcached_return_t uint64_t data); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) behavior can be modified by use memcached_behavior_set(). Default behavior is the library strives to be quick and accurate. Some @@ -72,14 +72,14 @@ MEMCACHED_BEHAVIOR_USE_UDP .INDENT 3.5 .sp Causes libmemcached(3) to use the UDP transport when communicating -with a memcached server. Not all I/O operations are supported +with a memcached server. Not all I/O operations are testsed when this behavior is enababled. The following operations will return \fBMEMCACHED_NOT_SUPPORTED\fP when executed with the MEMCACHED_BEHAVIOR_USE_UDP enabled: memcached_version(), memcached_stat(), memcached_get(), memcached_get_by_key(), memcached_mget(), memcached_mget_by_key(), memcached_fetch(), memcached_fetch_result(), memcached_value_fetch(). .sp -All other operations are supported but are executed in a \(aqfire\-and\-forget\(aq +All other operations are testsed but are executed in a \(aqfire\-and\-forget\(aq mode, in which once the client has executed the operation, no attempt will be made to ensure the operation has been received and acted on by the server. @@ -136,7 +136,7 @@ MEMCACHED_BEHAVIOR_HASH Makes the default hashing algorithm for keys use MD5. The value can be set to either MEMCACHED_HASH_DEFAULT, MEMCACHED_HASH_MD5, MEMCACHED_HASH_CRC, MEMCACHED_HASH_FNV1_64, MEMCACHED_HASH_FNV1A_64, MEMCACHED_HASH_FNV1_32, MEMCACHED_HASH_FNV1A_32, MEMCACHED_HASH_JENKINS, MEMCACHED_HASH_HSIEH, and MEMCACHED_HASH_MURMUR. Each hash has it\(aqs advantages and it\(aqs weaknesses. If you don\(aqt know or don\(aqt care, just go with the default. -Support for MEMCACHED_HASH_HSIEH is a compile time option that is disabled by default. To enable support for this hashing algorithm, configure and build libmemcached with the \-\-enable\-hash_hsieh. +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 \-\-enable\-hash_hsieh. .UNINDENT .UNINDENT .sp @@ -183,7 +183,7 @@ MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED .INDENT 0.0 .INDENT 3.5 .sp -Sets the default distribution to MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA with the weighted support. +Sets the default distribution to MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA with the weighted tests. and the hash to MEMCACHED_HASH_MD5. .UNINDENT .UNINDENT @@ -363,7 +363,7 @@ MEMCACHED_BEHAVIOR_CORK Enable TCP_CORK behavior. This is only available as an option Linux. MEMCACHED_NO_SERVERS is returned if no servers are available to test with. MEMCACHED_NOT_SUPPORTED is returned if we were not able to determine -if support was available. All other responses then MEMCACHED_SUCCESS +if tests was available. All other responses then MEMCACHED_SUCCESS report an error of some sort. This behavior also enables MEMCACHED_BEHAVIOR_TCP_NODELAY when set. .UNINDENT @@ -456,9 +456,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_callback.3 b/docs/man/memcached_callback.3 index 4dcb6dfb..39be97f6 100644 --- a/docs/man/memcached_callback.3 +++ b/docs/man/memcached_callback.3 @@ -35,7 +35,7 @@ Get and set a callback .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -52,7 +52,7 @@ void * memcached_return_t *error); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) can have callbacks set key execution points. These either provide function calls at points in the code, or return pointers to @@ -176,9 +176,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_callback_get.3 b/docs/man/memcached_callback_get.3 index 32abd1b7..d245c78f 100644 --- a/docs/man/memcached_callback_get.3 +++ b/docs/man/memcached_callback_get.3 @@ -35,7 +35,7 @@ Get and set a callback .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -52,7 +52,7 @@ void * memcached_return_t *error); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) can have callbacks set key execution points. These either provide function calls at points in the code, or return pointers to @@ -176,9 +176,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_callback_set.3 b/docs/man/memcached_callback_set.3 index 5cb91d53..597a54fe 100644 --- a/docs/man/memcached_callback_set.3 +++ b/docs/man/memcached_callback_set.3 @@ -35,7 +35,7 @@ Get and set a callback .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -52,7 +52,7 @@ void * memcached_return_t *error); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) can have callbacks set key execution points. These either provide function calls at points in the code, or return pointers to @@ -176,9 +176,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_cas.3 b/docs/man/memcached_cas.3 index 2514a607..96d266ba 100644 --- a/docs/man/memcached_cas.3 +++ b/docs/man/memcached_cas.3 @@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to store information on the server. All methods take a key, and its length to store the object. Keys are currently limited to 250 characters by the memcached(1) server. You must also supply a value and a length. Optionally you -may support an expiration time for the object and a 16 byte value (it is +may tests an expiration time for the object and a 16 byte value (it is meant to be used as a bitmap). .sp memcached_set() will write an object to the server. If an object already @@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server. memcached_cas() overwrites data in the server as long as the "cas" value is still the same in the server. You can get the cas value of a result by calling memcached_result_cas() on a memcached_result_st(3) structure. At the point -that this note was written cas is still buggy in memached. Turning on support +that this note was written cas is still buggy in memached. Turning on tests for it in libmemcached(3) is optional. Please see memcached_set() for information on how to do this. .sp @@ -175,7 +175,7 @@ objects to particular servers. If you are looking for performance, memcached_set() with non\-blocking IO is the fastest way to store data on the server. .sp -All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there +All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there are limits to the size of the payload being sent to the server. The reason for these limits is that the Memcahed Server does not allow multi\-datagram requests and the current server implementation sets a datagram size to 1400 bytes. Due @@ -201,9 +201,6 @@ legitmate error in the case of a collision. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp memcached(1) libmemached(3) memcached_strerror(3) diff --git a/docs/man/memcached_cas_by_key.3 b/docs/man/memcached_cas_by_key.3 index b23f114d..7bbdcf4a 100644 --- a/docs/man/memcached_cas_by_key.3 +++ b/docs/man/memcached_cas_by_key.3 @@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to store information on the server. All methods take a key, and its length to store the object. Keys are currently limited to 250 characters by the memcached(1) server. You must also supply a value and a length. Optionally you -may support an expiration time for the object and a 16 byte value (it is +may tests an expiration time for the object and a 16 byte value (it is meant to be used as a bitmap). .sp memcached_set() will write an object to the server. If an object already @@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server. memcached_cas() overwrites data in the server as long as the "cas" value is still the same in the server. You can get the cas value of a result by calling memcached_result_cas() on a memcached_result_st(3) structure. At the point -that this note was written cas is still buggy in memached. Turning on support +that this note was written cas is still buggy in memached. Turning on tests for it in libmemcached(3) is optional. Please see memcached_set() for information on how to do this. .sp @@ -175,7 +175,7 @@ objects to particular servers. If you are looking for performance, memcached_set() with non\-blocking IO is the fastest way to store data on the server. .sp -All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there +All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there are limits to the size of the payload being sent to the server. The reason for these limits is that the Memcahed Server does not allow multi\-datagram requests and the current server implementation sets a datagram size to 1400 bytes. Due @@ -201,9 +201,6 @@ legitmate error in the case of a collision. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp memcached(1) libmemached(3) memcached_strerror(3) diff --git a/docs/man/memcached_clone.3 b/docs/man/memcached_clone.3 index 68722fe9..232e8791 100644 --- a/docs/man/memcached_clone.3 +++ b/docs/man/memcached_clone.3 @@ -35,7 +35,7 @@ Create a memcached_st structure .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -50,7 +50,7 @@ memcached_st *memcached_clone (memcached_st *destination, memcached_st *source); void memcached_servers_reset(memcached_st); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_create() is used to create a \fBmemcached_st\fP structure that will then be used by other libmemcached(3) functions to communicate with the server. You @@ -87,9 +87,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_create.3 b/docs/man/memcached_create.3 index 1cb286a9..2dec82ca 100644 --- a/docs/man/memcached_create.3 +++ b/docs/man/memcached_create.3 @@ -35,7 +35,7 @@ Create a memcached_st structure .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -50,7 +50,7 @@ memcached_st *memcached_clone (memcached_st *destination, memcached_st *source); void memcached_servers_reset(memcached_st); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_create() is used to create a \fBmemcached_st\fP structure that will then be used by other libmemcached(3) functions to communicate with the server. You @@ -87,9 +87,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_decrement.3 b/docs/man/memcached_decrement.3 index dca4ec47..df61e910 100644 --- a/docs/man/memcached_decrement.3 +++ b/docs/man/memcached_decrement.3 @@ -35,7 +35,7 @@ Manipulate counters .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -108,7 +108,7 @@ memcached_return_t uint64_t *value); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached(1) servers have the ability to increment and decrement keys (overflow and underflow are not detected). This gives you the ability to use @@ -156,9 +156,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_decrement_with_initial.3 b/docs/man/memcached_decrement_with_initial.3 index e4c594e8..66654fa6 100644 --- a/docs/man/memcached_decrement_with_initial.3 +++ b/docs/man/memcached_decrement_with_initial.3 @@ -35,7 +35,7 @@ Manipulate counters .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -108,7 +108,7 @@ memcached_return_t uint64_t *value); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached(1) servers have the ability to increment and decrement keys (overflow and underflow are not detected). This gives you the ability to use @@ -156,9 +156,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_delete.3 b/docs/man/memcached_delete.3 index 3c9cfbf5..81a32682 100644 --- a/docs/man/memcached_delete.3 +++ b/docs/man/memcached_delete.3 @@ -35,7 +35,7 @@ Delete a key .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -53,7 +53,7 @@ memcached_delete_by_key (memcached_st *ptr, time_t expiration); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_delete() is used to delete a particular key. memcached_delete_by_key() works the same, but it takes a master key to @@ -64,7 +64,7 @@ it won\(aqt possible to retrieve it by the "get" command, but "add" and "replace" command with this key will also fail (the "set" command will succeed, however). After the time passes, the item is finally deleted from server memory. .sp -Please note the the Danga memcached server removed support for expiration in +Please note the the Danga memcached server removed tests for expiration in the 1.4 version. .SH RETURN .sp @@ -81,9 +81,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_delete_by_key.3 b/docs/man/memcached_delete_by_key.3 index 69b742fc..9e8b04f9 100644 --- a/docs/man/memcached_delete_by_key.3 +++ b/docs/man/memcached_delete_by_key.3 @@ -35,7 +35,7 @@ Delete a key .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -53,7 +53,7 @@ memcached_delete_by_key (memcached_st *ptr, time_t expiration); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_delete() is used to delete a particular key. memcached_delete_by_key() works the same, but it takes a master key to @@ -64,7 +64,7 @@ it won\(aqt possible to retrieve it by the "get" command, but "add" and "replace" command with this key will also fail (the "set" command will succeed, however). After the time passes, the item is finally deleted from server memory. .sp -Please note the the Danga memcached server removed support for expiration in +Please note the the Danga memcached server removed tests for expiration in the 1.4 version. .SH RETURN .sp @@ -81,9 +81,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_destroy_sasl_auth_data.3 b/docs/man/memcached_destroy_sasl_auth_data.3 index 435e4a3f..811aad44 100644 --- a/docs/man/memcached_destroy_sasl_auth_data.3 +++ b/docs/man/memcached_destroy_sasl_auth_data.3 @@ -31,8 +31,10 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" Man page generated from reStructeredText. . .sp -SASL support -.SH LIBRARY +memcached_set_sasl_callbacks, memcached_get_sasl_callbacks, memcached_sasl_set_auth_data, memcached_destroy_sasl_auth_data +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-** +.sp +SASL tests .sp C Client Library for memcached (libmemcached, \-lmemcached) .SH SYNOPSIS @@ -70,21 +72,18 @@ specify your own callback function with memcached_set_sasl_callbacks(). You as a client user have to initialize libsasl by using sasl_client_init before enabling it in libmemcached, and you have to shut down libsasl by calling sasl_done() when you are done using SASL from libmemcached. -.SH RETURN .sp memcached_get_sasl_callbacks() returns the callbacks currently used by this memcached handle. memcached_get_sasl_set_auth_data() returns MEMCACHED_SUCCESS upon success. -.SH HOME .sp To find out more information please check: \fI\%http://libmemcached.org/\fP -.SH AUTHOR .sp Trond Norbye, <\fI\%trond.norbye@gmail.com\fP> .SH SEE ALSO .sp -memcached(1) libmemcached(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_dump.3 b/docs/man/memcached_dump.3 index 5e9e1d2d..388f6ad1 100644 --- a/docs/man/memcached_dump.3 +++ b/docs/man/memcached_dump.3 @@ -35,7 +35,7 @@ Get a list of keys found on memcached servers .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -53,14 +53,14 @@ typedef memcached_return_t (*memcached_dump_fn)(memcached_st *ptr, void *context); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_dump() is used to get a list of keys found memcached(1) servers. Because memcached(1) does not guarentee to dump all keys you can not assume you have fetched all keys from the server. The function takes an array of callbacks that it will use to execute on keys as they are found. .sp -Currently the binar protocol is not supported. +Currently the binar protocol is not testsed. .SH RETURN .sp A value of type \fBmemcached_return_t\fP is returned @@ -73,9 +73,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_fetch.3 b/docs/man/memcached_fetch.3 index ec1b98d5..0a557e1c 100644 --- a/docs/man/memcached_fetch.3 +++ b/docs/man/memcached_fetch.3 @@ -35,7 +35,7 @@ Get a value .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -108,7 +108,7 @@ memcached_return_t uint32_t number_of_callbacks); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_get() is used to fetch an individual value from the server. You must pass in a key and its length to fetch the object. You must supply @@ -174,7 +174,7 @@ as memcached_get() and memcached_mget(). The difference is that they take a master key that is used for determining which server an object was stored if key partitioning was used for storage. .sp -All of the above functions are not supported when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in +All of the above functions are not testsed when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in \fBMEMCACHED_NOT_SUPPORTED\fP being returned or, for those functions which do not return a \fBmemcached_return_t\fP, the error function parameter will be set to \fBMEMCACHED_NOT_SUPPORTED\fP. @@ -194,9 +194,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_fetch_execute.3 b/docs/man/memcached_fetch_execute.3 index f908ad63..729953d8 100644 --- a/docs/man/memcached_fetch_execute.3 +++ b/docs/man/memcached_fetch_execute.3 @@ -35,7 +35,7 @@ Get a value .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -108,7 +108,7 @@ memcached_return_t uint32_t number_of_callbacks); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_get() is used to fetch an individual value from the server. You must pass in a key and its length to fetch the object. You must supply @@ -174,7 +174,7 @@ as memcached_get() and memcached_mget(). The difference is that they take a master key that is used for determining which server an object was stored if key partitioning was used for storage. .sp -All of the above functions are not supported when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in +All of the above functions are not testsed when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in \fBMEMCACHED_NOT_SUPPORTED\fP being returned or, for those functions which do not return a \fBmemcached_return_t\fP, the error function parameter will be set to \fBMEMCACHED_NOT_SUPPORTED\fP. @@ -194,9 +194,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_fetch_result.3 b/docs/man/memcached_fetch_result.3 index 7f8db2dd..5f121187 100644 --- a/docs/man/memcached_fetch_result.3 +++ b/docs/man/memcached_fetch_result.3 @@ -35,7 +35,7 @@ Get a value .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -108,7 +108,7 @@ memcached_return_t uint32_t number_of_callbacks); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_get() is used to fetch an individual value from the server. You must pass in a key and its length to fetch the object. You must supply @@ -174,7 +174,7 @@ as memcached_get() and memcached_mget(). The difference is that they take a master key that is used for determining which server an object was stored if key partitioning was used for storage. .sp -All of the above functions are not supported when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in +All of the above functions are not testsed when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in \fBMEMCACHED_NOT_SUPPORTED\fP being returned or, for those functions which do not return a \fBmemcached_return_t\fP, the error function parameter will be set to \fBMEMCACHED_NOT_SUPPORTED\fP. @@ -194,9 +194,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_flush.3 b/docs/man/memcached_flush.3 index 3605d48f..ff594898 100644 --- a/docs/man/memcached_flush.3 +++ b/docs/man/memcached_flush.3 @@ -31,8 +31,10 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" Man page generated from reStructeredText. . .sp +memcached_flush +\-\-\-\-\-\-\-\-\-\-\-\-\-\-* +.sp Wipe contents of memcached servers -.SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) .SH SYNOPSIS @@ -54,21 +56,18 @@ expiration time passed to the method (a value of zero causes an immediate flush). The operation is not atomic to multiple servers, just atomic to a single server. That is, it will flush the servers in the order that they were added. -.SH RETURN .sp A value of type \fBmemcached_return_t\fP is returned On success that value will be \fBMEMCACHED_SUCCESS\fP. Use memcached_strerror() to translate this value to a printable string. -.SH HOME .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_flush_buffers.3 b/docs/man/memcached_flush_buffers.3 index 38663333..3924bb6a 100644 --- a/docs/man/memcached_flush_buffers.3 +++ b/docs/man/memcached_flush_buffers.3 @@ -31,8 +31,10 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" Man page generated from reStructeredText. . .sp +memcached_flush_buffers +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-* +.sp Flush buffers and send buffered commands -.SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) .SH SYNOPSIS @@ -50,21 +52,18 @@ memcached_return_t memcached_flush_buffers() is used in conjunction with MEMCACHED_BEHAVIOR_BUFFER_REQUESTS (see memcached_behavior(3)) to flush all buffers by sending the buffered commands to the server for processing. -.SH RETURN .sp A value of type \fBmemcached_return_t\fP is returned On success that value will be \fBMEMCACHED_SUCCESS\fP. Use memcached_strerror() to translate this value to a printable string. -.SH HOME .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR .sp Trond Norbye, <\fI\%trond.norbye@gmail.com\fP> .SH SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) memcached_behavior(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_free.3 b/docs/man/memcached_free.3 index 13011913..5615541a 100644 --- a/docs/man/memcached_free.3 +++ b/docs/man/memcached_free.3 @@ -35,7 +35,7 @@ Create a memcached_st structure .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -50,7 +50,7 @@ memcached_st *memcached_clone (memcached_st *destination, memcached_st *source); void memcached_servers_reset(memcached_st); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_create() is used to create a \fBmemcached_st\fP structure that will then be used by other libmemcached(3) functions to communicate with the server. You @@ -87,9 +87,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_generate_hash_value.3 b/docs/man/memcached_generate_hash_value.3 index 44e06693..5034b0d8 100644 --- a/docs/man/memcached_generate_hash_value.3 +++ b/docs/man/memcached_generate_hash_value.3 @@ -31,8 +31,10 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" Man page generated from reStructeredText. . .sp +memcached_generate_hash_value +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-** +.sp Hash a key value -.SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) .SH SYNOPSIS @@ -67,22 +69,19 @@ the hash value that would have been generated based on the defaults of the memcached_st structure. .sp As of version 0.36 all hash methods have been placed into the library -libhashkit(3) which is linked with libmemcached(3). -.SH RETURN +libmemcached(3) which is linked with libmemcached(3). .sp 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. -.SH HOME .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp -memcached(1) libmemcached(3) memcached_behavior_set(3) libhashkit(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_get.3 b/docs/man/memcached_get.3 index 29ebe2a5..ecc85af3 100644 --- a/docs/man/memcached_get.3 +++ b/docs/man/memcached_get.3 @@ -35,7 +35,7 @@ Get a value .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -108,7 +108,7 @@ memcached_return_t uint32_t number_of_callbacks); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_get() is used to fetch an individual value from the server. You must pass in a key and its length to fetch the object. You must supply @@ -174,7 +174,7 @@ as memcached_get() and memcached_mget(). The difference is that they take a master key that is used for determining which server an object was stored if key partitioning was used for storage. .sp -All of the above functions are not supported when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in +All of the above functions are not testsed when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in \fBMEMCACHED_NOT_SUPPORTED\fP being returned or, for those functions which do not return a \fBmemcached_return_t\fP, the error function parameter will be set to \fBMEMCACHED_NOT_SUPPORTED\fP. @@ -194,9 +194,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_get_by_key.3 b/docs/man/memcached_get_by_key.3 index b9cc57f3..5c370fa4 100644 --- a/docs/man/memcached_get_by_key.3 +++ b/docs/man/memcached_get_by_key.3 @@ -35,7 +35,7 @@ Get a value .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -108,7 +108,7 @@ memcached_return_t uint32_t number_of_callbacks); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_get() is used to fetch an individual value from the server. You must pass in a key and its length to fetch the object. You must supply @@ -174,7 +174,7 @@ as memcached_get() and memcached_mget(). The difference is that they take a master key that is used for determining which server an object was stored if key partitioning was used for storage. .sp -All of the above functions are not supported when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in +All of the above functions are not testsed when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in \fBMEMCACHED_NOT_SUPPORTED\fP being returned or, for those functions which do not return a \fBmemcached_return_t\fP, the error function parameter will be set to \fBMEMCACHED_NOT_SUPPORTED\fP. @@ -194,9 +194,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_get_memory_allocators.3 b/docs/man/memcached_get_memory_allocators.3 index 8f60b296..21db78ac 100644 --- a/docs/man/memcached_get_memory_allocators.3 +++ b/docs/man/memcached_get_memory_allocators.3 @@ -41,48 +41,25 @@ C Client Library for memcached (libmemcached, \-lmemcached) .ft C #include -memcached_return_t - memcached_set_memory_allocators (memcached_st *ptr, - memcached_malloc_fn mem_malloc, - memcached_free_fn mem_free, - memcached_realloc_fn mem_realloc, - memcached_calloc_fn mem_calloc, - void *context); +memcached_return_t memcached_set_memory_allocators (memcached_st *ptr, memcached_malloc_fn mem_malloc, memcached_free_fn mem_free, memcached_realloc_fn mem_realloc, memcached_calloc_fn mem_calloc, void *context); -void - memcached_get_memory_allocators (memcached_st *ptr, - memcached_malloc_fn *mem_malloc, - memcached_free_fn *mem_free, - memcached_realloc_fn *mem_realloc, - memcached_calloc_fn *mem_calloc); +void memcached_get_memory_allocators (memcached_st *ptr, memcached_malloc_fn *mem_malloc, memcached_free_fn *mem_free, memcached_realloc_fn *mem_realloc, memcached_calloc_fn *mem_calloc); -void * - memcached_get_memory_allocators_context(const memcached_st *ptr); +void * memcached_get_memory_allocators_context(const memcached_st *ptr); -void * - (*memcached_malloc_fn) (memcached_st *ptr, const size_t size, - void *context); +void * (*memcached_malloc_fn) (memcached_st *ptr, const size_t size, void *context); -void * - (*memcached_realloc_fn) (memcached_st *ptr, void *mem, - const size_t size, - void *context); +void * (*memcached_realloc_fn) (memcached_st *ptr, void *mem, const size_t size, void *context); -void - (*memcached_free_fn) (memcached_st *ptr, void *mem, - void *context); +void (*memcached_free_fn) (memcached_st *ptr, void *mem, void *context); -void * -(*memcached_calloc_fn) (memcached_st *ptr, - size_t nelem, - const size_t elsize, - void *context); +void * (*memcached_calloc_fn) (memcached_st *ptr, size_t nelem, const size_t elsize, void *context); .ft P .fi .SH DESCRIPTION .sp libmemcached(3) allows you to specify your own memory allocators optimized -for your application. +for your application. This enables libmemcached to be used inside of applications that have their own malloc implementation. .sp memcached_set_memory_allocators() is used to set the memory allocators used by the memcached instance specified by ptr. Please note that you cannot @@ -113,13 +90,9 @@ and MEMCACHED_FAILURE if you don\(aqt pass a complete set of function pointers. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Trond Norbye, <\fI\%trond.norbye@gmail.com\fP> -Brian Aker, <\fI\%brian@tangent\fP.orf .SH SEE ALSO .sp -memcached(1) libmemcached(3) memcached_get_user_data(3) memcached_set_user_data(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_get_sasl_callbacks.3 b/docs/man/memcached_get_sasl_callbacks.3 index 5ddb3577..d82176d8 100644 --- a/docs/man/memcached_get_sasl_callbacks.3 +++ b/docs/man/memcached_get_sasl_callbacks.3 @@ -31,8 +31,10 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" Man page generated from reStructeredText. . .sp -SASL support -.SH LIBRARY +memcached_set_sasl_callbacks, memcached_get_sasl_callbacks, memcached_sasl_set_auth_data, memcached_destroy_sasl_auth_data +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-** +.sp +SASL tests .sp C Client Library for memcached (libmemcached, \-lmemcached) .SH SYNOPSIS @@ -70,21 +72,18 @@ specify your own callback function with memcached_set_sasl_callbacks(). You as a client user have to initialize libsasl by using sasl_client_init before enabling it in libmemcached, and you have to shut down libsasl by calling sasl_done() when you are done using SASL from libmemcached. -.SH RETURN .sp memcached_get_sasl_callbacks() returns the callbacks currently used by this memcached handle. memcached_get_sasl_set_auth_data() returns MEMCACHED_SUCCESS upon success. -.SH HOME .sp To find out more information please check: \fI\%http://libmemcached.org/\fP -.SH AUTHOR .sp Trond Norbye, <\fI\%trond.norbye@gmail.com\fP> .SH SEE ALSO .sp -memcached(1) libmemcached(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_get_user_data.3 b/docs/man/memcached_get_user_data.3 index 9c1f5c97..03bd1b7a 100644 --- a/docs/man/memcached_get_user_data.3 +++ b/docs/man/memcached_get_user_data.3 @@ -35,7 +35,7 @@ Manage user specific data .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -46,7 +46,7 @@ void *memcached_get_user_data (memcached_st *ptr); void *memcached_set_user_data (memcached_st *ptr, void *data); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) allows you to store a pointer to a user specific data inside the memcached_st structure. @@ -70,7 +70,7 @@ To find out more information please check: .SH AUTHOR .sp Trond Norbye, <\fI\%trond.norbye@gmail.com\fP> -.SH SEE ALSO +.SS SEE ALSO .sp memcached(1) libmemcached(3) .SH AUTHOR diff --git a/docs/man/memcached_increment.3 b/docs/man/memcached_increment.3 index 9f25997a..e14f194e 100644 --- a/docs/man/memcached_increment.3 +++ b/docs/man/memcached_increment.3 @@ -35,7 +35,7 @@ Manipulate counters .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -108,7 +108,7 @@ memcached_return_t uint64_t *value); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached(1) servers have the ability to increment and decrement keys (overflow and underflow are not detected). This gives you the ability to use @@ -156,9 +156,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_increment_with_initial.3 b/docs/man/memcached_increment_with_initial.3 index bb983059..bb319e5e 100644 --- a/docs/man/memcached_increment_with_initial.3 +++ b/docs/man/memcached_increment_with_initial.3 @@ -35,7 +35,7 @@ Manipulate counters .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -108,7 +108,7 @@ memcached_return_t uint64_t *value); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached(1) servers have the ability to increment and decrement keys (overflow and underflow are not detected). This gives you the ability to use @@ -156,9 +156,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_lib_version.3 b/docs/man/memcached_lib_version.3 index 11e062e5..81be835f 100644 --- a/docs/man/memcached_lib_version.3 +++ b/docs/man/memcached_lib_version.3 @@ -35,7 +35,7 @@ Get library version .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -49,7 +49,7 @@ memcached_return_t memcached_version (memcached_st *ptr) .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_lib_version() is used to return a simple version string representing the libmemcached version (version of the client library, not server) @@ -73,7 +73,7 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp memcached(1) libmemcached(3) memcached_strerror(3) .SH AUTHOR diff --git a/docs/man/memcached_memory_allocators.3 b/docs/man/memcached_memory_allocators.3 index 3dda6435..2a64aa33 100644 --- a/docs/man/memcached_memory_allocators.3 +++ b/docs/man/memcached_memory_allocators.3 @@ -41,48 +41,25 @@ C Client Library for memcached (libmemcached, \-lmemcached) .ft C #include -memcached_return_t - memcached_set_memory_allocators (memcached_st *ptr, - memcached_malloc_fn mem_malloc, - memcached_free_fn mem_free, - memcached_realloc_fn mem_realloc, - memcached_calloc_fn mem_calloc, - void *context); +memcached_return_t memcached_set_memory_allocators (memcached_st *ptr, memcached_malloc_fn mem_malloc, memcached_free_fn mem_free, memcached_realloc_fn mem_realloc, memcached_calloc_fn mem_calloc, void *context); -void - memcached_get_memory_allocators (memcached_st *ptr, - memcached_malloc_fn *mem_malloc, - memcached_free_fn *mem_free, - memcached_realloc_fn *mem_realloc, - memcached_calloc_fn *mem_calloc); +void memcached_get_memory_allocators (memcached_st *ptr, memcached_malloc_fn *mem_malloc, memcached_free_fn *mem_free, memcached_realloc_fn *mem_realloc, memcached_calloc_fn *mem_calloc); -void * - memcached_get_memory_allocators_context(const memcached_st *ptr); +void * memcached_get_memory_allocators_context(const memcached_st *ptr); -void * - (*memcached_malloc_fn) (memcached_st *ptr, const size_t size, - void *context); +void * (*memcached_malloc_fn) (memcached_st *ptr, const size_t size, void *context); -void * - (*memcached_realloc_fn) (memcached_st *ptr, void *mem, - const size_t size, - void *context); +void * (*memcached_realloc_fn) (memcached_st *ptr, void *mem, const size_t size, void *context); -void - (*memcached_free_fn) (memcached_st *ptr, void *mem, - void *context); +void (*memcached_free_fn) (memcached_st *ptr, void *mem, void *context); -void * -(*memcached_calloc_fn) (memcached_st *ptr, - size_t nelem, - const size_t elsize, - void *context); +void * (*memcached_calloc_fn) (memcached_st *ptr, size_t nelem, const size_t elsize, void *context); .ft P .fi .SH DESCRIPTION .sp libmemcached(3) allows you to specify your own memory allocators optimized -for your application. +for your application. This enables libmemcached to be used inside of applications that have their own malloc implementation. .sp memcached_set_memory_allocators() is used to set the memory allocators used by the memcached instance specified by ptr. Please note that you cannot @@ -113,13 +90,9 @@ and MEMCACHED_FAILURE if you don\(aqt pass a complete set of function pointers. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Trond Norbye, <\fI\%trond.norbye@gmail.com\fP> -Brian Aker, <\fI\%brian@tangent\fP.orf .SH SEE ALSO .sp -memcached(1) libmemcached(3) memcached_get_user_data(3) memcached_set_user_data(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_mget.3 b/docs/man/memcached_mget.3 index a485f04c..c8d773d9 100644 --- a/docs/man/memcached_mget.3 +++ b/docs/man/memcached_mget.3 @@ -35,7 +35,7 @@ Get a value .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -108,7 +108,7 @@ memcached_return_t uint32_t number_of_callbacks); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_get() is used to fetch an individual value from the server. You must pass in a key and its length to fetch the object. You must supply @@ -174,7 +174,7 @@ as memcached_get() and memcached_mget(). The difference is that they take a master key that is used for determining which server an object was stored if key partitioning was used for storage. .sp -All of the above functions are not supported when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in +All of the above functions are not testsed when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in \fBMEMCACHED_NOT_SUPPORTED\fP being returned or, for those functions which do not return a \fBmemcached_return_t\fP, the error function parameter will be set to \fBMEMCACHED_NOT_SUPPORTED\fP. @@ -194,9 +194,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_mget_by_key.3 b/docs/man/memcached_mget_by_key.3 index a5e4a7b9..14287f10 100644 --- a/docs/man/memcached_mget_by_key.3 +++ b/docs/man/memcached_mget_by_key.3 @@ -35,7 +35,7 @@ Get a value .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -108,7 +108,7 @@ memcached_return_t uint32_t number_of_callbacks); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_get() is used to fetch an individual value from the server. You must pass in a key and its length to fetch the object. You must supply @@ -174,7 +174,7 @@ as memcached_get() and memcached_mget(). The difference is that they take a master key that is used for determining which server an object was stored if key partitioning was used for storage. .sp -All of the above functions are not supported when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in +All of the above functions are not testsed when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in \fBMEMCACHED_NOT_SUPPORTED\fP being returned or, for those functions which do not return a \fBmemcached_return_t\fP, the error function parameter will be set to \fBMEMCACHED_NOT_SUPPORTED\fP. @@ -194,9 +194,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_mget_execute.3 b/docs/man/memcached_mget_execute.3 index 7ce59756..a028fc1a 100644 --- a/docs/man/memcached_mget_execute.3 +++ b/docs/man/memcached_mget_execute.3 @@ -35,7 +35,7 @@ Get a value .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -108,7 +108,7 @@ memcached_return_t uint32_t number_of_callbacks); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_get() is used to fetch an individual value from the server. You must pass in a key and its length to fetch the object. You must supply @@ -174,7 +174,7 @@ as memcached_get() and memcached_mget(). The difference is that they take a master key that is used for determining which server an object was stored if key partitioning was used for storage. .sp -All of the above functions are not supported when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in +All of the above functions are not testsed when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in \fBMEMCACHED_NOT_SUPPORTED\fP being returned or, for those functions which do not return a \fBmemcached_return_t\fP, the error function parameter will be set to \fBMEMCACHED_NOT_SUPPORTED\fP. @@ -194,9 +194,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_mget_execute_by_key.3 b/docs/man/memcached_mget_execute_by_key.3 index 87939fb8..35e416fb 100644 --- a/docs/man/memcached_mget_execute_by_key.3 +++ b/docs/man/memcached_mget_execute_by_key.3 @@ -35,7 +35,7 @@ Get a value .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -108,7 +108,7 @@ memcached_return_t uint32_t number_of_callbacks); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_get() is used to fetch an individual value from the server. You must pass in a key and its length to fetch the object. You must supply @@ -174,7 +174,7 @@ as memcached_get() and memcached_mget(). The difference is that they take a master key that is used for determining which server an object was stored if key partitioning was used for storage. .sp -All of the above functions are not supported when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in +All of the above functions are not testsed when the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPhas been set. Executing any of these functions with this behavior on will result in \fBMEMCACHED_NOT_SUPPORTED\fP being returned or, for those functions which do not return a \fBmemcached_return_t\fP, the error function parameter will be set to \fBMEMCACHED_NOT_SUPPORTED\fP. @@ -194,9 +194,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_pool.3 b/docs/man/memcached_pool.3 index 0f043826..4357aca6 100644 --- a/docs/man/memcached_pool.3 +++ b/docs/man/memcached_pool.3 @@ -35,38 +35,28 @@ Manage pools .SH LIBRARY .sp C Client Library for memcached (libmemcachedutil, \-lmemcachedutil) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C #include -memcached_pool_st * - memcached_pool_create(memcached_st* mmc, int initial, int max); +memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); -memcached_st * - memcached_pool_destroy(memcached_pool_st* pool); +memcached_st * memcached_pool_destroy(memcached_pool_st* pool); -memcached_st * - memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc); +memcached_st * memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc); -memcached_return_t - memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc); +memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc); memcached_st *memcached_create (memcached_st *ptr); -memcached_return_t - memcached_pool_behavior_set(memcached_pool_st *pool, - memcached_behavior_t flag, - uint64_t data) +memcached_return_t memcached_pool_behavior_set(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t data) -memcached_return_t - memcached_pool_behavior_get(memcached_pool_st *pool, - memcached_behavior_t flag, - uint64_t *value) +memcached_return_t memcached_pool_behavior_get(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t *value) .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_pool_create() is used to create a connection pool of objects you may use to remove the overhead of using memcached_clone for short @@ -118,9 +108,9 @@ To find out more information please check: .SH AUTHOR .sp Trond Norbye, <\fI\%trond.norbye@gmail.com\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_create(3) memcached_free(3) libmemcachedutil(3) memcached_behavior_get(3) memcached_behavior_set(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_pool_behavior_get.3 b/docs/man/memcached_pool_behavior_get.3 index 1a64ea1a..cd86a98d 100644 --- a/docs/man/memcached_pool_behavior_get.3 +++ b/docs/man/memcached_pool_behavior_get.3 @@ -35,38 +35,28 @@ Manage pools .SH LIBRARY .sp C Client Library for memcached (libmemcachedutil, \-lmemcachedutil) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C #include -memcached_pool_st * - memcached_pool_create(memcached_st* mmc, int initial, int max); +memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); -memcached_st * - memcached_pool_destroy(memcached_pool_st* pool); +memcached_st * memcached_pool_destroy(memcached_pool_st* pool); -memcached_st * - memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc); +memcached_st * memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc); -memcached_return_t - memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc); +memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc); memcached_st *memcached_create (memcached_st *ptr); -memcached_return_t - memcached_pool_behavior_set(memcached_pool_st *pool, - memcached_behavior_t flag, - uint64_t data) +memcached_return_t memcached_pool_behavior_set(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t data) -memcached_return_t - memcached_pool_behavior_get(memcached_pool_st *pool, - memcached_behavior_t flag, - uint64_t *value) +memcached_return_t memcached_pool_behavior_get(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t *value) .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_pool_create() is used to create a connection pool of objects you may use to remove the overhead of using memcached_clone for short @@ -118,9 +108,9 @@ To find out more information please check: .SH AUTHOR .sp Trond Norbye, <\fI\%trond.norbye@gmail.com\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_create(3) memcached_free(3) libmemcachedutil(3) memcached_behavior_get(3) memcached_behavior_set(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_pool_behavior_set.3 b/docs/man/memcached_pool_behavior_set.3 index e290289d..0729736c 100644 --- a/docs/man/memcached_pool_behavior_set.3 +++ b/docs/man/memcached_pool_behavior_set.3 @@ -35,38 +35,28 @@ Manage pools .SH LIBRARY .sp C Client Library for memcached (libmemcachedutil, \-lmemcachedutil) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C #include -memcached_pool_st * - memcached_pool_create(memcached_st* mmc, int initial, int max); +memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); -memcached_st * - memcached_pool_destroy(memcached_pool_st* pool); +memcached_st * memcached_pool_destroy(memcached_pool_st* pool); -memcached_st * - memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc); +memcached_st * memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc); -memcached_return_t - memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc); +memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc); memcached_st *memcached_create (memcached_st *ptr); -memcached_return_t - memcached_pool_behavior_set(memcached_pool_st *pool, - memcached_behavior_t flag, - uint64_t data) +memcached_return_t memcached_pool_behavior_set(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t data) -memcached_return_t - memcached_pool_behavior_get(memcached_pool_st *pool, - memcached_behavior_t flag, - uint64_t *value) +memcached_return_t memcached_pool_behavior_get(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t *value) .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_pool_create() is used to create a connection pool of objects you may use to remove the overhead of using memcached_clone for short @@ -118,9 +108,9 @@ To find out more information please check: .SH AUTHOR .sp Trond Norbye, <\fI\%trond.norbye@gmail.com\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_create(3) memcached_free(3) libmemcachedutil(3) memcached_behavior_get(3) memcached_behavior_set(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_pool_create.3 b/docs/man/memcached_pool_create.3 index 6e7cc240..f6611dd8 100644 --- a/docs/man/memcached_pool_create.3 +++ b/docs/man/memcached_pool_create.3 @@ -35,38 +35,28 @@ Manage pools .SH LIBRARY .sp C Client Library for memcached (libmemcachedutil, \-lmemcachedutil) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C #include -memcached_pool_st * - memcached_pool_create(memcached_st* mmc, int initial, int max); +memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); -memcached_st * - memcached_pool_destroy(memcached_pool_st* pool); +memcached_st * memcached_pool_destroy(memcached_pool_st* pool); -memcached_st * - memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc); +memcached_st * memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc); -memcached_return_t - memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc); +memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc); memcached_st *memcached_create (memcached_st *ptr); -memcached_return_t - memcached_pool_behavior_set(memcached_pool_st *pool, - memcached_behavior_t flag, - uint64_t data) +memcached_return_t memcached_pool_behavior_set(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t data) -memcached_return_t - memcached_pool_behavior_get(memcached_pool_st *pool, - memcached_behavior_t flag, - uint64_t *value) +memcached_return_t memcached_pool_behavior_get(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t *value) .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_pool_create() is used to create a connection pool of objects you may use to remove the overhead of using memcached_clone for short @@ -118,9 +108,9 @@ To find out more information please check: .SH AUTHOR .sp Trond Norbye, <\fI\%trond.norbye@gmail.com\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_create(3) memcached_free(3) libmemcachedutil(3) memcached_behavior_get(3) memcached_behavior_set(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_pool_destroy.3 b/docs/man/memcached_pool_destroy.3 index 55427fe4..63fece13 100644 --- a/docs/man/memcached_pool_destroy.3 +++ b/docs/man/memcached_pool_destroy.3 @@ -35,38 +35,28 @@ Manage pools .SH LIBRARY .sp C Client Library for memcached (libmemcachedutil, \-lmemcachedutil) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C #include -memcached_pool_st * - memcached_pool_create(memcached_st* mmc, int initial, int max); +memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); -memcached_st * - memcached_pool_destroy(memcached_pool_st* pool); +memcached_st * memcached_pool_destroy(memcached_pool_st* pool); -memcached_st * - memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc); +memcached_st * memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc); -memcached_return_t - memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc); +memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc); memcached_st *memcached_create (memcached_st *ptr); -memcached_return_t - memcached_pool_behavior_set(memcached_pool_st *pool, - memcached_behavior_t flag, - uint64_t data) +memcached_return_t memcached_pool_behavior_set(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t data) -memcached_return_t - memcached_pool_behavior_get(memcached_pool_st *pool, - memcached_behavior_t flag, - uint64_t *value) +memcached_return_t memcached_pool_behavior_get(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t *value) .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_pool_create() is used to create a connection pool of objects you may use to remove the overhead of using memcached_clone for short @@ -118,9 +108,9 @@ To find out more information please check: .SH AUTHOR .sp Trond Norbye, <\fI\%trond.norbye@gmail.com\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_create(3) memcached_free(3) libmemcachedutil(3) memcached_behavior_get(3) memcached_behavior_set(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_pool_pop.3 b/docs/man/memcached_pool_pop.3 index 8b3223a7..1f15cf38 100644 --- a/docs/man/memcached_pool_pop.3 +++ b/docs/man/memcached_pool_pop.3 @@ -35,38 +35,28 @@ Manage pools .SH LIBRARY .sp C Client Library for memcached (libmemcachedutil, \-lmemcachedutil) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C #include -memcached_pool_st * - memcached_pool_create(memcached_st* mmc, int initial, int max); +memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); -memcached_st * - memcached_pool_destroy(memcached_pool_st* pool); +memcached_st * memcached_pool_destroy(memcached_pool_st* pool); -memcached_st * - memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc); +memcached_st * memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc); -memcached_return_t - memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc); +memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc); memcached_st *memcached_create (memcached_st *ptr); -memcached_return_t - memcached_pool_behavior_set(memcached_pool_st *pool, - memcached_behavior_t flag, - uint64_t data) +memcached_return_t memcached_pool_behavior_set(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t data) -memcached_return_t - memcached_pool_behavior_get(memcached_pool_st *pool, - memcached_behavior_t flag, - uint64_t *value) +memcached_return_t memcached_pool_behavior_get(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t *value) .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_pool_create() is used to create a connection pool of objects you may use to remove the overhead of using memcached_clone for short @@ -118,9 +108,9 @@ To find out more information please check: .SH AUTHOR .sp Trond Norbye, <\fI\%trond.norbye@gmail.com\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_create(3) memcached_free(3) libmemcachedutil(3) memcached_behavior_get(3) memcached_behavior_set(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_pool_push.3 b/docs/man/memcached_pool_push.3 index fcfc33a7..ee0f4cbf 100644 --- a/docs/man/memcached_pool_push.3 +++ b/docs/man/memcached_pool_push.3 @@ -35,38 +35,28 @@ Manage pools .SH LIBRARY .sp C Client Library for memcached (libmemcachedutil, \-lmemcachedutil) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C #include -memcached_pool_st * - memcached_pool_create(memcached_st* mmc, int initial, int max); +memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); -memcached_st * - memcached_pool_destroy(memcached_pool_st* pool); +memcached_st * memcached_pool_destroy(memcached_pool_st* pool); -memcached_st * - memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc); +memcached_st * memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc); -memcached_return_t - memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc); +memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc); memcached_st *memcached_create (memcached_st *ptr); -memcached_return_t - memcached_pool_behavior_set(memcached_pool_st *pool, - memcached_behavior_t flag, - uint64_t data) +memcached_return_t memcached_pool_behavior_set(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t data) -memcached_return_t - memcached_pool_behavior_get(memcached_pool_st *pool, - memcached_behavior_t flag, - uint64_t *value) +memcached_return_t memcached_pool_behavior_get(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t *value) .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_pool_create() is used to create a connection pool of objects you may use to remove the overhead of using memcached_clone for short @@ -118,9 +108,9 @@ To find out more information please check: .SH AUTHOR .sp Trond Norbye, <\fI\%trond.norbye@gmail.com\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_create(3) memcached_free(3) libmemcachedutil(3) memcached_behavior_get(3) memcached_behavior_set(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_prepend.3 b/docs/man/memcached_prepend.3 index 7559dbb7..18cb3b5c 100644 --- a/docs/man/memcached_prepend.3 +++ b/docs/man/memcached_prepend.3 @@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to store information on the server. All methods take a key, and its length to store the object. Keys are currently limited to 250 characters by the memcached(1) server. You must also supply a value and a length. Optionally you -may support an expiration time for the object and a 16 byte value (it is +may tests an expiration time for the object and a 16 byte value (it is meant to be used as a bitmap). .sp memcached_set() will write an object to the server. If an object already @@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server. memcached_cas() overwrites data in the server as long as the "cas" value is still the same in the server. You can get the cas value of a result by calling memcached_result_cas() on a memcached_result_st(3) structure. At the point -that this note was written cas is still buggy in memached. Turning on support +that this note was written cas is still buggy in memached. Turning on tests for it in libmemcached(3) is optional. Please see memcached_set() for information on how to do this. .sp @@ -175,7 +175,7 @@ objects to particular servers. If you are looking for performance, memcached_set() with non\-blocking IO is the fastest way to store data on the server. .sp -All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there +All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there are limits to the size of the payload being sent to the server. The reason for these limits is that the Memcahed Server does not allow multi\-datagram requests and the current server implementation sets a datagram size to 1400 bytes. Due @@ -201,9 +201,6 @@ legitmate error in the case of a collision. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp memcached(1) libmemached(3) memcached_strerror(3) diff --git a/docs/man/memcached_prepend_by_key.3 b/docs/man/memcached_prepend_by_key.3 index 872061bd..fce8a183 100644 --- a/docs/man/memcached_prepend_by_key.3 +++ b/docs/man/memcached_prepend_by_key.3 @@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to store information on the server. All methods take a key, and its length to store the object. Keys are currently limited to 250 characters by the memcached(1) server. You must also supply a value and a length. Optionally you -may support an expiration time for the object and a 16 byte value (it is +may tests an expiration time for the object and a 16 byte value (it is meant to be used as a bitmap). .sp memcached_set() will write an object to the server. If an object already @@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server. memcached_cas() overwrites data in the server as long as the "cas" value is still the same in the server. You can get the cas value of a result by calling memcached_result_cas() on a memcached_result_st(3) structure. At the point -that this note was written cas is still buggy in memached. Turning on support +that this note was written cas is still buggy in memached. Turning on tests for it in libmemcached(3) is optional. Please see memcached_set() for information on how to do this. .sp @@ -175,7 +175,7 @@ objects to particular servers. If you are looking for performance, memcached_set() with non\-blocking IO is the fastest way to store data on the server. .sp -All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there +All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there are limits to the size of the payload being sent to the server. The reason for these limits is that the Memcahed Server does not allow multi\-datagram requests and the current server implementation sets a datagram size to 1400 bytes. Due @@ -201,9 +201,6 @@ legitmate error in the case of a collision. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp memcached(1) libmemached(3) memcached_strerror(3) diff --git a/docs/man/memcached_quit.3 b/docs/man/memcached_quit.3 index df732a0e..371221a9 100644 --- a/docs/man/memcached_quit.3 +++ b/docs/man/memcached_quit.3 @@ -35,7 +35,7 @@ Disconnect from all servers .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -44,7 +44,7 @@ C Client Library for memcached (libmemcached, \-lmemcached) void memcached_quit (memcached_st *ptr); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_quit() will disconnect you from all currently connected servers. It will also reset the state of the connection (ie, any memcached_fetch() you @@ -67,9 +67,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_replace.3 b/docs/man/memcached_replace.3 index 2db41968..594a7739 100644 --- a/docs/man/memcached_replace.3 +++ b/docs/man/memcached_replace.3 @@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to store information on the server. All methods take a key, and its length to store the object. Keys are currently limited to 250 characters by the memcached(1) server. You must also supply a value and a length. Optionally you -may support an expiration time for the object and a 16 byte value (it is +may tests an expiration time for the object and a 16 byte value (it is meant to be used as a bitmap). .sp memcached_set() will write an object to the server. If an object already @@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server. memcached_cas() overwrites data in the server as long as the "cas" value is still the same in the server. You can get the cas value of a result by calling memcached_result_cas() on a memcached_result_st(3) structure. At the point -that this note was written cas is still buggy in memached. Turning on support +that this note was written cas is still buggy in memached. Turning on tests for it in libmemcached(3) is optional. Please see memcached_set() for information on how to do this. .sp @@ -175,7 +175,7 @@ objects to particular servers. If you are looking for performance, memcached_set() with non\-blocking IO is the fastest way to store data on the server. .sp -All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there +All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there are limits to the size of the payload being sent to the server. The reason for these limits is that the Memcahed Server does not allow multi\-datagram requests and the current server implementation sets a datagram size to 1400 bytes. Due @@ -201,9 +201,6 @@ legitmate error in the case of a collision. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp memcached(1) libmemached(3) memcached_strerror(3) diff --git a/docs/man/memcached_replace_by_key.3 b/docs/man/memcached_replace_by_key.3 index 4da65c83..ec1ae4b4 100644 --- a/docs/man/memcached_replace_by_key.3 +++ b/docs/man/memcached_replace_by_key.3 @@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to store information on the server. All methods take a key, and its length to store the object. Keys are currently limited to 250 characters by the memcached(1) server. You must also supply a value and a length. Optionally you -may support an expiration time for the object and a 16 byte value (it is +may tests an expiration time for the object and a 16 byte value (it is meant to be used as a bitmap). .sp memcached_set() will write an object to the server. If an object already @@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server. memcached_cas() overwrites data in the server as long as the "cas" value is still the same in the server. You can get the cas value of a result by calling memcached_result_cas() on a memcached_result_st(3) structure. At the point -that this note was written cas is still buggy in memached. Turning on support +that this note was written cas is still buggy in memached. Turning on tests for it in libmemcached(3) is optional. Please see memcached_set() for information on how to do this. .sp @@ -175,7 +175,7 @@ objects to particular servers. If you are looking for performance, memcached_set() with non\-blocking IO is the fastest way to store data on the server. .sp -All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there +All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there are limits to the size of the payload being sent to the server. The reason for these limits is that the Memcahed Server does not allow multi\-datagram requests and the current server implementation sets a datagram size to 1400 bytes. Due @@ -201,9 +201,6 @@ legitmate error in the case of a collision. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp memcached(1) libmemached(3) memcached_strerror(3) diff --git a/docs/man/memcached_result_cas.3 b/docs/man/memcached_result_cas.3 index 3704c21c..1976022e 100644 --- a/docs/man/memcached_result_cas.3 +++ b/docs/man/memcached_result_cas.3 @@ -35,7 +35,7 @@ Work with memcached_result_st .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -68,7 +68,7 @@ void memcached_result_set_flags (memcached_result_st *ptr, uint32_t flags) void memcached_result_set_expiration (memcached_result_st *ptr, time_t) .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) can optionally return a memcached_result_st which acts as a result object. The result objects have added benefits over the character @@ -104,7 +104,7 @@ current result object. .sp memcached_result_cas() returns the cas associated with the current result object. This value will only be available if the server -supports it. +testss it. .sp memcached_result_set_value() takes a byte array and a size and sets the result to this value. This function is used for trigger responses. @@ -131,9 +131,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_result_create.3 b/docs/man/memcached_result_create.3 index 83dd1170..5532aa1b 100644 --- a/docs/man/memcached_result_create.3 +++ b/docs/man/memcached_result_create.3 @@ -35,7 +35,7 @@ Work with memcached_result_st .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -68,7 +68,7 @@ void memcached_result_set_flags (memcached_result_st *ptr, uint32_t flags) void memcached_result_set_expiration (memcached_result_st *ptr, time_t) .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) can optionally return a memcached_result_st which acts as a result object. The result objects have added benefits over the character @@ -104,7 +104,7 @@ current result object. .sp memcached_result_cas() returns the cas associated with the current result object. This value will only be available if the server -supports it. +testss it. .sp memcached_result_set_value() takes a byte array and a size and sets the result to this value. This function is used for trigger responses. @@ -131,9 +131,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_result_flags.3 b/docs/man/memcached_result_flags.3 index 907a87e5..122dd555 100644 --- a/docs/man/memcached_result_flags.3 +++ b/docs/man/memcached_result_flags.3 @@ -35,7 +35,7 @@ Work with memcached_result_st .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -68,7 +68,7 @@ void memcached_result_set_flags (memcached_result_st *ptr, uint32_t flags) void memcached_result_set_expiration (memcached_result_st *ptr, time_t) .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) can optionally return a memcached_result_st which acts as a result object. The result objects have added benefits over the character @@ -104,7 +104,7 @@ current result object. .sp memcached_result_cas() returns the cas associated with the current result object. This value will only be available if the server -supports it. +testss it. .sp memcached_result_set_value() takes a byte array and a size and sets the result to this value. This function is used for trigger responses. @@ -131,9 +131,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_result_free.3 b/docs/man/memcached_result_free.3 index 3d6321b4..9217fdd9 100644 --- a/docs/man/memcached_result_free.3 +++ b/docs/man/memcached_result_free.3 @@ -35,7 +35,7 @@ Work with memcached_result_st .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -68,7 +68,7 @@ void memcached_result_set_flags (memcached_result_st *ptr, uint32_t flags) void memcached_result_set_expiration (memcached_result_st *ptr, time_t) .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) can optionally return a memcached_result_st which acts as a result object. The result objects have added benefits over the character @@ -104,7 +104,7 @@ current result object. .sp memcached_result_cas() returns the cas associated with the current result object. This value will only be available if the server -supports it. +testss it. .sp memcached_result_set_value() takes a byte array and a size and sets the result to this value. This function is used for trigger responses. @@ -131,9 +131,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_result_key_length.3 b/docs/man/memcached_result_key_length.3 index 12033139..50fa7be4 100644 --- a/docs/man/memcached_result_key_length.3 +++ b/docs/man/memcached_result_key_length.3 @@ -35,7 +35,7 @@ Work with memcached_result_st .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -68,7 +68,7 @@ void memcached_result_set_flags (memcached_result_st *ptr, uint32_t flags) void memcached_result_set_expiration (memcached_result_st *ptr, time_t) .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) can optionally return a memcached_result_st which acts as a result object. The result objects have added benefits over the character @@ -104,7 +104,7 @@ current result object. .sp memcached_result_cas() returns the cas associated with the current result object. This value will only be available if the server -supports it. +testss it. .sp memcached_result_set_value() takes a byte array and a size and sets the result to this value. This function is used for trigger responses. @@ -131,9 +131,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_result_key_value.3 b/docs/man/memcached_result_key_value.3 index ab15d24f..8b2d9bd0 100644 --- a/docs/man/memcached_result_key_value.3 +++ b/docs/man/memcached_result_key_value.3 @@ -35,7 +35,7 @@ Work with memcached_result_st .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -68,7 +68,7 @@ void memcached_result_set_flags (memcached_result_st *ptr, uint32_t flags) void memcached_result_set_expiration (memcached_result_st *ptr, time_t) .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) can optionally return a memcached_result_st which acts as a result object. The result objects have added benefits over the character @@ -104,7 +104,7 @@ current result object. .sp memcached_result_cas() returns the cas associated with the current result object. This value will only be available if the server -supports it. +testss it. .sp memcached_result_set_value() takes a byte array and a size and sets the result to this value. This function is used for trigger responses. @@ -131,9 +131,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_result_length.3 b/docs/man/memcached_result_length.3 index 7fa857a8..2e6faa3f 100644 --- a/docs/man/memcached_result_length.3 +++ b/docs/man/memcached_result_length.3 @@ -35,7 +35,7 @@ Work with memcached_result_st .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -68,7 +68,7 @@ void memcached_result_set_flags (memcached_result_st *ptr, uint32_t flags) void memcached_result_set_expiration (memcached_result_st *ptr, time_t) .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) can optionally return a memcached_result_st which acts as a result object. The result objects have added benefits over the character @@ -104,7 +104,7 @@ current result object. .sp memcached_result_cas() returns the cas associated with the current result object. This value will only be available if the server -supports it. +testss it. .sp memcached_result_set_value() takes a byte array and a size and sets the result to this value. This function is used for trigger responses. @@ -131,9 +131,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_result_st.3 b/docs/man/memcached_result_st.3 index f60daeed..8f17eca0 100644 --- a/docs/man/memcached_result_st.3 +++ b/docs/man/memcached_result_st.3 @@ -35,7 +35,7 @@ Work with memcached_result_st .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -68,7 +68,7 @@ void memcached_result_set_flags (memcached_result_st *ptr, uint32_t flags) void memcached_result_set_expiration (memcached_result_st *ptr, time_t) .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) can optionally return a memcached_result_st which acts as a result object. The result objects have added benefits over the character @@ -104,7 +104,7 @@ current result object. .sp memcached_result_cas() returns the cas associated with the current result object. This value will only be available if the server -supports it. +testss it. .sp memcached_result_set_value() takes a byte array and a size and sets the result to this value. This function is used for trigger responses. @@ -131,9 +131,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_result_value.3 b/docs/man/memcached_result_value.3 index 0db7d7c3..b7608c88 100644 --- a/docs/man/memcached_result_value.3 +++ b/docs/man/memcached_result_value.3 @@ -35,7 +35,7 @@ Work with memcached_result_st .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -68,7 +68,7 @@ void memcached_result_set_flags (memcached_result_st *ptr, uint32_t flags) void memcached_result_set_expiration (memcached_result_st *ptr, time_t) .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) can optionally return a memcached_result_st which acts as a result object. The result objects have added benefits over the character @@ -104,7 +104,7 @@ current result object. .sp memcached_result_cas() returns the cas associated with the current result object. This value will only be available if the server -supports it. +testss it. .sp memcached_result_set_value() takes a byte array and a size and sets the result to this value. This function is used for trigger responses. @@ -131,9 +131,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_sasl.3 b/docs/man/memcached_sasl.3 index 4e82fb6f..8b7cfedd 100644 --- a/docs/man/memcached_sasl.3 +++ b/docs/man/memcached_sasl.3 @@ -31,8 +31,10 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" Man page generated from reStructeredText. . .sp -SASL support -.SH LIBRARY +memcached_set_sasl_callbacks, memcached_get_sasl_callbacks, memcached_sasl_set_auth_data, memcached_destroy_sasl_auth_data +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-** +.sp +SASL tests .sp C Client Library for memcached (libmemcached, \-lmemcached) .SH SYNOPSIS @@ -70,21 +72,18 @@ specify your own callback function with memcached_set_sasl_callbacks(). You as a client user have to initialize libsasl by using sasl_client_init before enabling it in libmemcached, and you have to shut down libsasl by calling sasl_done() when you are done using SASL from libmemcached. -.SH RETURN .sp memcached_get_sasl_callbacks() returns the callbacks currently used by this memcached handle. memcached_get_sasl_set_auth_data() returns MEMCACHED_SUCCESS upon success. -.SH HOME .sp To find out more information please check: \fI\%http://libmemcached.org/\fP -.SH AUTHOR .sp Trond Norbye, <\fI\%trond.norbye@gmail.com\fP> .SH SEE ALSO .sp -memcached(1) libmemcached(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_sasl_set_auth_data.3 b/docs/man/memcached_sasl_set_auth_data.3 index b0826037..9ed62994 100644 --- a/docs/man/memcached_sasl_set_auth_data.3 +++ b/docs/man/memcached_sasl_set_auth_data.3 @@ -31,8 +31,10 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" Man page generated from reStructeredText. . .sp -SASL support -.SH LIBRARY +memcached_set_sasl_callbacks, memcached_get_sasl_callbacks, memcached_sasl_set_auth_data, memcached_destroy_sasl_auth_data +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-** +.sp +SASL tests .sp C Client Library for memcached (libmemcached, \-lmemcached) .SH SYNOPSIS @@ -70,21 +72,18 @@ specify your own callback function with memcached_set_sasl_callbacks(). You as a client user have to initialize libsasl by using sasl_client_init before enabling it in libmemcached, and you have to shut down libsasl by calling sasl_done() when you are done using SASL from libmemcached. -.SH RETURN .sp memcached_get_sasl_callbacks() returns the callbacks currently used by this memcached handle. memcached_get_sasl_set_auth_data() returns MEMCACHED_SUCCESS upon success. -.SH HOME .sp To find out more information please check: \fI\%http://libmemcached.org/\fP -.SH AUTHOR .sp Trond Norbye, <\fI\%trond.norbye@gmail.com\fP> .SH SEE ALSO .sp -memcached(1) libmemcached(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_server_add.3 b/docs/man/memcached_server_add.3 index 11220990..a5613bea 100644 --- a/docs/man/memcached_server_add.3 +++ b/docs/man/memcached_server_add.3 @@ -35,7 +35,7 @@ Manage server list .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -43,41 +43,22 @@ C Client Library for memcached (libmemcached, \-lmemcached) uint32_t memcached_server_count (memcached_st *ptr); -memcached_return_t - memcached_server_add (memcached_st *ptr, - const char *hostname, - in_port_t port); +memcached_return_t memcached_server_add (memcached_st *ptr, const char *hostname, in_port_t port); -memcached_return_t - memcached_server_add_udp (memcached_st *ptr, - const char *hostname, - in_port_t port); +memcached_return_t memcached_server_add_udp (memcached_st *ptr, const char *hostname, in_port_t port); -memcached_return_t - memcached_server_add_unix_socket (memcached_st *ptr, - const char *socket); +memcached_return_t memcached_server_add_unix_socket (memcached_st *ptr, const char *socket); -memcached_return_t - memcached_server_push (memcached_st *ptr, - const memcached_server_st *list); +memcached_return_t memcached_server_push (memcached_st *ptr, const memcached_server_st *list); -memcached_server_instance_st - memcached_server_by_key (const memcached_st *ptr, - const char *key, - size_t key_length, - memcached_return_t *error); +memcached_server_instance_st memcached_server_by_key (const memcached_st *ptr, const char *key, size_t key_length, memcached_return_t *error); -memcached_server_instance_st - memcached_server_get_last_disconnect (const memcached_st *ptr) +memcached_server_instance_st memcached_server_get_last_disconnect (const memcached_st *ptr) -memcached_return_t - memcached_server_cursor(const memcached_st *ptr, - const memcached_server_fn *callback, - void *context, - uint32_t number_of_callbacks); +memcached_return_t memcached_server_cursor(const memcached_st *ptr, const memcached_server_fn *callback, void *context, uint32_t number_of_callbacks); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) performs operations on a list of hosts. The order of these hosts determine routing to keys. Functions are provided to add keys to @@ -132,12 +113,9 @@ Varies, see particular functions. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_server_add_unix_socket.3 b/docs/man/memcached_server_add_unix_socket.3 index 099ffd9c..2ada1461 100644 --- a/docs/man/memcached_server_add_unix_socket.3 +++ b/docs/man/memcached_server_add_unix_socket.3 @@ -35,7 +35,7 @@ Manage server list .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -43,41 +43,22 @@ C Client Library for memcached (libmemcached, \-lmemcached) uint32_t memcached_server_count (memcached_st *ptr); -memcached_return_t - memcached_server_add (memcached_st *ptr, - const char *hostname, - in_port_t port); +memcached_return_t memcached_server_add (memcached_st *ptr, const char *hostname, in_port_t port); -memcached_return_t - memcached_server_add_udp (memcached_st *ptr, - const char *hostname, - in_port_t port); +memcached_return_t memcached_server_add_udp (memcached_st *ptr, const char *hostname, in_port_t port); -memcached_return_t - memcached_server_add_unix_socket (memcached_st *ptr, - const char *socket); +memcached_return_t memcached_server_add_unix_socket (memcached_st *ptr, const char *socket); -memcached_return_t - memcached_server_push (memcached_st *ptr, - const memcached_server_st *list); +memcached_return_t memcached_server_push (memcached_st *ptr, const memcached_server_st *list); -memcached_server_instance_st - memcached_server_by_key (const memcached_st *ptr, - const char *key, - size_t key_length, - memcached_return_t *error); +memcached_server_instance_st memcached_server_by_key (const memcached_st *ptr, const char *key, size_t key_length, memcached_return_t *error); -memcached_server_instance_st - memcached_server_get_last_disconnect (const memcached_st *ptr) +memcached_server_instance_st memcached_server_get_last_disconnect (const memcached_st *ptr) -memcached_return_t - memcached_server_cursor(const memcached_st *ptr, - const memcached_server_fn *callback, - void *context, - uint32_t number_of_callbacks); +memcached_return_t memcached_server_cursor(const memcached_st *ptr, const memcached_server_fn *callback, void *context, uint32_t number_of_callbacks); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) performs operations on a list of hosts. The order of these hosts determine routing to keys. Functions are provided to add keys to @@ -132,12 +113,9 @@ Varies, see particular functions. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_server_count.3 b/docs/man/memcached_server_count.3 index 343aee3a..573c0ad0 100644 --- a/docs/man/memcached_server_count.3 +++ b/docs/man/memcached_server_count.3 @@ -35,7 +35,7 @@ Manage server list .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -43,41 +43,22 @@ C Client Library for memcached (libmemcached, \-lmemcached) uint32_t memcached_server_count (memcached_st *ptr); -memcached_return_t - memcached_server_add (memcached_st *ptr, - const char *hostname, - in_port_t port); +memcached_return_t memcached_server_add (memcached_st *ptr, const char *hostname, in_port_t port); -memcached_return_t - memcached_server_add_udp (memcached_st *ptr, - const char *hostname, - in_port_t port); +memcached_return_t memcached_server_add_udp (memcached_st *ptr, const char *hostname, in_port_t port); -memcached_return_t - memcached_server_add_unix_socket (memcached_st *ptr, - const char *socket); +memcached_return_t memcached_server_add_unix_socket (memcached_st *ptr, const char *socket); -memcached_return_t - memcached_server_push (memcached_st *ptr, - const memcached_server_st *list); +memcached_return_t memcached_server_push (memcached_st *ptr, const memcached_server_st *list); -memcached_server_instance_st - memcached_server_by_key (const memcached_st *ptr, - const char *key, - size_t key_length, - memcached_return_t *error); +memcached_server_instance_st memcached_server_by_key (const memcached_st *ptr, const char *key, size_t key_length, memcached_return_t *error); -memcached_server_instance_st - memcached_server_get_last_disconnect (const memcached_st *ptr) +memcached_server_instance_st memcached_server_get_last_disconnect (const memcached_st *ptr) -memcached_return_t - memcached_server_cursor(const memcached_st *ptr, - const memcached_server_fn *callback, - void *context, - uint32_t number_of_callbacks); +memcached_return_t memcached_server_cursor(const memcached_st *ptr, const memcached_server_fn *callback, void *context, uint32_t number_of_callbacks); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) performs operations on a list of hosts. The order of these hosts determine routing to keys. Functions are provided to add keys to @@ -132,12 +113,9 @@ Varies, see particular functions. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_server_cursor.3 b/docs/man/memcached_server_cursor.3 index 503f0145..5dd5abcd 100644 --- a/docs/man/memcached_server_cursor.3 +++ b/docs/man/memcached_server_cursor.3 @@ -35,7 +35,7 @@ Manage server list .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -43,41 +43,22 @@ C Client Library for memcached (libmemcached, \-lmemcached) uint32_t memcached_server_count (memcached_st *ptr); -memcached_return_t - memcached_server_add (memcached_st *ptr, - const char *hostname, - in_port_t port); +memcached_return_t memcached_server_add (memcached_st *ptr, const char *hostname, in_port_t port); -memcached_return_t - memcached_server_add_udp (memcached_st *ptr, - const char *hostname, - in_port_t port); +memcached_return_t memcached_server_add_udp (memcached_st *ptr, const char *hostname, in_port_t port); -memcached_return_t - memcached_server_add_unix_socket (memcached_st *ptr, - const char *socket); +memcached_return_t memcached_server_add_unix_socket (memcached_st *ptr, const char *socket); -memcached_return_t - memcached_server_push (memcached_st *ptr, - const memcached_server_st *list); +memcached_return_t memcached_server_push (memcached_st *ptr, const memcached_server_st *list); -memcached_server_instance_st - memcached_server_by_key (const memcached_st *ptr, - const char *key, - size_t key_length, - memcached_return_t *error); +memcached_server_instance_st memcached_server_by_key (const memcached_st *ptr, const char *key, size_t key_length, memcached_return_t *error); -memcached_server_instance_st - memcached_server_get_last_disconnect (const memcached_st *ptr) +memcached_server_instance_st memcached_server_get_last_disconnect (const memcached_st *ptr) -memcached_return_t - memcached_server_cursor(const memcached_st *ptr, - const memcached_server_fn *callback, - void *context, - uint32_t number_of_callbacks); +memcached_return_t memcached_server_cursor(const memcached_st *ptr, const memcached_server_fn *callback, void *context, uint32_t number_of_callbacks); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) performs operations on a list of hosts. The order of these hosts determine routing to keys. Functions are provided to add keys to @@ -132,12 +113,9 @@ Varies, see particular functions. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_server_list.3 b/docs/man/memcached_server_list.3 index f507de85..79ed0046 100644 --- a/docs/man/memcached_server_list.3 +++ b/docs/man/memcached_server_list.3 @@ -35,7 +35,7 @@ Manage server list .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -43,41 +43,22 @@ C Client Library for memcached (libmemcached, \-lmemcached) uint32_t memcached_server_count (memcached_st *ptr); -memcached_return_t - memcached_server_add (memcached_st *ptr, - const char *hostname, - in_port_t port); +memcached_return_t memcached_server_add (memcached_st *ptr, const char *hostname, in_port_t port); -memcached_return_t - memcached_server_add_udp (memcached_st *ptr, - const char *hostname, - in_port_t port); +memcached_return_t memcached_server_add_udp (memcached_st *ptr, const char *hostname, in_port_t port); -memcached_return_t - memcached_server_add_unix_socket (memcached_st *ptr, - const char *socket); +memcached_return_t memcached_server_add_unix_socket (memcached_st *ptr, const char *socket); -memcached_return_t - memcached_server_push (memcached_st *ptr, - const memcached_server_st *list); +memcached_return_t memcached_server_push (memcached_st *ptr, const memcached_server_st *list); -memcached_server_instance_st - memcached_server_by_key (const memcached_st *ptr, - const char *key, - size_t key_length, - memcached_return_t *error); +memcached_server_instance_st memcached_server_by_key (const memcached_st *ptr, const char *key, size_t key_length, memcached_return_t *error); -memcached_server_instance_st - memcached_server_get_last_disconnect (const memcached_st *ptr) +memcached_server_instance_st memcached_server_get_last_disconnect (const memcached_st *ptr) -memcached_return_t - memcached_server_cursor(const memcached_st *ptr, - const memcached_server_fn *callback, - void *context, - uint32_t number_of_callbacks); +memcached_return_t memcached_server_cursor(const memcached_st *ptr, const memcached_server_fn *callback, void *context, uint32_t number_of_callbacks); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) performs operations on a list of hosts. The order of these hosts determine routing to keys. Functions are provided to add keys to @@ -132,12 +113,9 @@ Varies, see particular functions. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_server_list_append.3 b/docs/man/memcached_server_list_append.3 index b7f20e93..30e06c34 100644 --- a/docs/man/memcached_server_list_append.3 +++ b/docs/man/memcached_server_list_append.3 @@ -35,7 +35,7 @@ Manage server list .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -62,7 +62,7 @@ DEPRECATED void memcached_server_error_reset (memcached_server_instance_st list); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) operates on a list of hosts which are stored in memcached_server_st structures. You should not modify these structures @@ -102,9 +102,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_server_list_count.3 b/docs/man/memcached_server_list_count.3 index 1f5ef90c..144276d8 100644 --- a/docs/man/memcached_server_list_count.3 +++ b/docs/man/memcached_server_list_count.3 @@ -35,7 +35,7 @@ Manage server list .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -62,7 +62,7 @@ DEPRECATED void memcached_server_error_reset (memcached_server_instance_st list); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) operates on a list of hosts which are stored in memcached_server_st structures. You should not modify these structures @@ -102,9 +102,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_server_list_free.3 b/docs/man/memcached_server_list_free.3 index 72ea88c9..0696542e 100644 --- a/docs/man/memcached_server_list_free.3 +++ b/docs/man/memcached_server_list_free.3 @@ -35,7 +35,7 @@ Manage server list .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -62,7 +62,7 @@ DEPRECATED void memcached_server_error_reset (memcached_server_instance_st list); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) operates on a list of hosts which are stored in memcached_server_st structures. You should not modify these structures @@ -102,9 +102,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_server_push.3 b/docs/man/memcached_server_push.3 index a976c9cd..a4db6a81 100644 --- a/docs/man/memcached_server_push.3 +++ b/docs/man/memcached_server_push.3 @@ -35,7 +35,7 @@ Manage server list .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -43,41 +43,22 @@ C Client Library for memcached (libmemcached, \-lmemcached) uint32_t memcached_server_count (memcached_st *ptr); -memcached_return_t - memcached_server_add (memcached_st *ptr, - const char *hostname, - in_port_t port); +memcached_return_t memcached_server_add (memcached_st *ptr, const char *hostname, in_port_t port); -memcached_return_t - memcached_server_add_udp (memcached_st *ptr, - const char *hostname, - in_port_t port); +memcached_return_t memcached_server_add_udp (memcached_st *ptr, const char *hostname, in_port_t port); -memcached_return_t - memcached_server_add_unix_socket (memcached_st *ptr, - const char *socket); +memcached_return_t memcached_server_add_unix_socket (memcached_st *ptr, const char *socket); -memcached_return_t - memcached_server_push (memcached_st *ptr, - const memcached_server_st *list); +memcached_return_t memcached_server_push (memcached_st *ptr, const memcached_server_st *list); -memcached_server_instance_st - memcached_server_by_key (const memcached_st *ptr, - const char *key, - size_t key_length, - memcached_return_t *error); +memcached_server_instance_st memcached_server_by_key (const memcached_st *ptr, const char *key, size_t key_length, memcached_return_t *error); -memcached_server_instance_st - memcached_server_get_last_disconnect (const memcached_st *ptr) +memcached_server_instance_st memcached_server_get_last_disconnect (const memcached_st *ptr) -memcached_return_t - memcached_server_cursor(const memcached_st *ptr, - const memcached_server_fn *callback, - void *context, - uint32_t number_of_callbacks); +memcached_return_t memcached_server_cursor(const memcached_st *ptr, const memcached_server_fn *callback, void *context, uint32_t number_of_callbacks); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) performs operations on a list of hosts. The order of these hosts determine routing to keys. Functions are provided to add keys to @@ -132,12 +113,9 @@ Varies, see particular functions. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_server_st.3 b/docs/man/memcached_server_st.3 index 10f7d0f2..ec69f14b 100644 --- a/docs/man/memcached_server_st.3 +++ b/docs/man/memcached_server_st.3 @@ -35,7 +35,7 @@ Manage server list .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -43,41 +43,22 @@ C Client Library for memcached (libmemcached, \-lmemcached) uint32_t memcached_server_count (memcached_st *ptr); -memcached_return_t - memcached_server_add (memcached_st *ptr, - const char *hostname, - in_port_t port); +memcached_return_t memcached_server_add (memcached_st *ptr, const char *hostname, in_port_t port); -memcached_return_t - memcached_server_add_udp (memcached_st *ptr, - const char *hostname, - in_port_t port); +memcached_return_t memcached_server_add_udp (memcached_st *ptr, const char *hostname, in_port_t port); -memcached_return_t - memcached_server_add_unix_socket (memcached_st *ptr, - const char *socket); +memcached_return_t memcached_server_add_unix_socket (memcached_st *ptr, const char *socket); -memcached_return_t - memcached_server_push (memcached_st *ptr, - const memcached_server_st *list); +memcached_return_t memcached_server_push (memcached_st *ptr, const memcached_server_st *list); -memcached_server_instance_st - memcached_server_by_key (const memcached_st *ptr, - const char *key, - size_t key_length, - memcached_return_t *error); +memcached_server_instance_st memcached_server_by_key (const memcached_st *ptr, const char *key, size_t key_length, memcached_return_t *error); -memcached_server_instance_st - memcached_server_get_last_disconnect (const memcached_st *ptr) +memcached_server_instance_st memcached_server_get_last_disconnect (const memcached_st *ptr) -memcached_return_t - memcached_server_cursor(const memcached_st *ptr, - const memcached_server_fn *callback, - void *context, - uint32_t number_of_callbacks); +memcached_return_t memcached_server_cursor(const memcached_st *ptr, const memcached_server_fn *callback, void *context, uint32_t number_of_callbacks); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) performs operations on a list of hosts. The order of these hosts determine routing to keys. Functions are provided to add keys to @@ -132,12 +113,9 @@ Varies, see particular functions. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_servers.3 b/docs/man/memcached_servers.3 index 37372bba..b49fe802 100644 --- a/docs/man/memcached_servers.3 +++ b/docs/man/memcached_servers.3 @@ -35,7 +35,7 @@ Manage server list .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -43,41 +43,22 @@ C Client Library for memcached (libmemcached, \-lmemcached) uint32_t memcached_server_count (memcached_st *ptr); -memcached_return_t - memcached_server_add (memcached_st *ptr, - const char *hostname, - in_port_t port); +memcached_return_t memcached_server_add (memcached_st *ptr, const char *hostname, in_port_t port); -memcached_return_t - memcached_server_add_udp (memcached_st *ptr, - const char *hostname, - in_port_t port); +memcached_return_t memcached_server_add_udp (memcached_st *ptr, const char *hostname, in_port_t port); -memcached_return_t - memcached_server_add_unix_socket (memcached_st *ptr, - const char *socket); +memcached_return_t memcached_server_add_unix_socket (memcached_st *ptr, const char *socket); -memcached_return_t - memcached_server_push (memcached_st *ptr, - const memcached_server_st *list); +memcached_return_t memcached_server_push (memcached_st *ptr, const memcached_server_st *list); -memcached_server_instance_st - memcached_server_by_key (const memcached_st *ptr, - const char *key, - size_t key_length, - memcached_return_t *error); +memcached_server_instance_st memcached_server_by_key (const memcached_st *ptr, const char *key, size_t key_length, memcached_return_t *error); -memcached_server_instance_st - memcached_server_get_last_disconnect (const memcached_st *ptr) +memcached_server_instance_st memcached_server_get_last_disconnect (const memcached_st *ptr) -memcached_return_t - memcached_server_cursor(const memcached_st *ptr, - const memcached_server_fn *callback, - void *context, - uint32_t number_of_callbacks); +memcached_return_t memcached_server_cursor(const memcached_st *ptr, const memcached_server_fn *callback, void *context, uint32_t number_of_callbacks); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) performs operations on a list of hosts. The order of these hosts determine routing to keys. Functions are provided to add keys to @@ -132,12 +113,9 @@ Varies, see particular functions. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_servers_parse.3 b/docs/man/memcached_servers_parse.3 index dae3fe3b..248c026b 100644 --- a/docs/man/memcached_servers_parse.3 +++ b/docs/man/memcached_servers_parse.3 @@ -35,7 +35,7 @@ Manage server list .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -62,7 +62,7 @@ DEPRECATED void memcached_server_error_reset (memcached_server_instance_st list); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) operates on a list of hosts which are stored in memcached_server_st structures. You should not modify these structures @@ -102,9 +102,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_servers_reset.3 b/docs/man/memcached_servers_reset.3 index 8adf93f3..ba24a07b 100644 --- a/docs/man/memcached_servers_reset.3 +++ b/docs/man/memcached_servers_reset.3 @@ -35,7 +35,7 @@ Create a memcached_st structure .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -50,7 +50,7 @@ memcached_st *memcached_clone (memcached_st *destination, memcached_st *source); void memcached_servers_reset(memcached_st); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_create() is used to create a \fBmemcached_st\fP structure that will then be used by other libmemcached(3) functions to communicate with the server. You @@ -87,9 +87,9 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp -memcached(1) libmemcached(3) memcached_strerror(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_set.3 b/docs/man/memcached_set.3 index 3500cd01..85a61943 100644 --- a/docs/man/memcached_set.3 +++ b/docs/man/memcached_set.3 @@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to store information on the server. All methods take a key, and its length to store the object. Keys are currently limited to 250 characters by the memcached(1) server. You must also supply a value and a length. Optionally you -may support an expiration time for the object and a 16 byte value (it is +may tests an expiration time for the object and a 16 byte value (it is meant to be used as a bitmap). .sp memcached_set() will write an object to the server. If an object already @@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server. memcached_cas() overwrites data in the server as long as the "cas" value is still the same in the server. You can get the cas value of a result by calling memcached_result_cas() on a memcached_result_st(3) structure. At the point -that this note was written cas is still buggy in memached. Turning on support +that this note was written cas is still buggy in memached. Turning on tests for it in libmemcached(3) is optional. Please see memcached_set() for information on how to do this. .sp @@ -175,7 +175,7 @@ objects to particular servers. If you are looking for performance, memcached_set() with non\-blocking IO is the fastest way to store data on the server. .sp -All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there +All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there are limits to the size of the payload being sent to the server. The reason for these limits is that the Memcahed Server does not allow multi\-datagram requests and the current server implementation sets a datagram size to 1400 bytes. Due @@ -201,9 +201,6 @@ legitmate error in the case of a collision. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp memcached(1) libmemached(3) memcached_strerror(3) diff --git a/docs/man/memcached_set_by_key.3 b/docs/man/memcached_set_by_key.3 index 31a8926b..b94515c8 100644 --- a/docs/man/memcached_set_by_key.3 +++ b/docs/man/memcached_set_by_key.3 @@ -139,7 +139,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to store information on the server. All methods take a key, and its length to store the object. Keys are currently limited to 250 characters by the memcached(1) server. You must also supply a value and a length. Optionally you -may support an expiration time for the object and a 16 byte value (it is +may tests an expiration time for the object and a 16 byte value (it is meant to be used as a bitmap). .sp memcached_set() will write an object to the server. If an object already @@ -162,7 +162,7 @@ data stored. Currently expiration and key are not used in the server. memcached_cas() overwrites data in the server as long as the "cas" value is still the same in the server. You can get the cas value of a result by calling memcached_result_cas() on a memcached_result_st(3) structure. At the point -that this note was written cas is still buggy in memached. Turning on support +that this note was written cas is still buggy in memached. Turning on tests for it in libmemcached(3) is optional. Please see memcached_set() for information on how to do this. .sp @@ -175,7 +175,7 @@ objects to particular servers. If you are looking for performance, memcached_set() with non\-blocking IO is the fastest way to store data on the server. .sp -All of the above functions are supported with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there +All of the above functions are testsed with the \fBMEMCACHED_BEHAVIOR_USE_UDP\fPbehavior enabled. But when using these operations with this behavior on, there are limits to the size of the payload being sent to the server. The reason for these limits is that the Memcahed Server does not allow multi\-datagram requests and the current server implementation sets a datagram size to 1400 bytes. Due @@ -201,9 +201,6 @@ legitmate error in the case of a collision. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp memcached(1) libmemached(3) memcached_strerror(3) diff --git a/docs/man/memcached_set_memory_allocators.3 b/docs/man/memcached_set_memory_allocators.3 index 614426f6..22655217 100644 --- a/docs/man/memcached_set_memory_allocators.3 +++ b/docs/man/memcached_set_memory_allocators.3 @@ -41,48 +41,25 @@ C Client Library for memcached (libmemcached, \-lmemcached) .ft C #include -memcached_return_t - memcached_set_memory_allocators (memcached_st *ptr, - memcached_malloc_fn mem_malloc, - memcached_free_fn mem_free, - memcached_realloc_fn mem_realloc, - memcached_calloc_fn mem_calloc, - void *context); +memcached_return_t memcached_set_memory_allocators (memcached_st *ptr, memcached_malloc_fn mem_malloc, memcached_free_fn mem_free, memcached_realloc_fn mem_realloc, memcached_calloc_fn mem_calloc, void *context); -void - memcached_get_memory_allocators (memcached_st *ptr, - memcached_malloc_fn *mem_malloc, - memcached_free_fn *mem_free, - memcached_realloc_fn *mem_realloc, - memcached_calloc_fn *mem_calloc); +void memcached_get_memory_allocators (memcached_st *ptr, memcached_malloc_fn *mem_malloc, memcached_free_fn *mem_free, memcached_realloc_fn *mem_realloc, memcached_calloc_fn *mem_calloc); -void * - memcached_get_memory_allocators_context(const memcached_st *ptr); +void * memcached_get_memory_allocators_context(const memcached_st *ptr); -void * - (*memcached_malloc_fn) (memcached_st *ptr, const size_t size, - void *context); +void * (*memcached_malloc_fn) (memcached_st *ptr, const size_t size, void *context); -void * - (*memcached_realloc_fn) (memcached_st *ptr, void *mem, - const size_t size, - void *context); +void * (*memcached_realloc_fn) (memcached_st *ptr, void *mem, const size_t size, void *context); -void - (*memcached_free_fn) (memcached_st *ptr, void *mem, - void *context); +void (*memcached_free_fn) (memcached_st *ptr, void *mem, void *context); -void * -(*memcached_calloc_fn) (memcached_st *ptr, - size_t nelem, - const size_t elsize, - void *context); +void * (*memcached_calloc_fn) (memcached_st *ptr, size_t nelem, const size_t elsize, void *context); .ft P .fi .SH DESCRIPTION .sp libmemcached(3) allows you to specify your own memory allocators optimized -for your application. +for your application. This enables libmemcached to be used inside of applications that have their own malloc implementation. .sp memcached_set_memory_allocators() is used to set the memory allocators used by the memcached instance specified by ptr. Please note that you cannot @@ -113,13 +90,9 @@ and MEMCACHED_FAILURE if you don\(aqt pass a complete set of function pointers. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Trond Norbye, <\fI\%trond.norbye@gmail.com\fP> -Brian Aker, <\fI\%brian@tangent\fP.orf .SH SEE ALSO .sp -memcached(1) libmemcached(3) memcached_get_user_data(3) memcached_set_user_data(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_set_memory_allocators_context.3 b/docs/man/memcached_set_memory_allocators_context.3 index b381c9d5..b1161bb6 100644 --- a/docs/man/memcached_set_memory_allocators_context.3 +++ b/docs/man/memcached_set_memory_allocators_context.3 @@ -41,48 +41,25 @@ C Client Library for memcached (libmemcached, \-lmemcached) .ft C #include -memcached_return_t - memcached_set_memory_allocators (memcached_st *ptr, - memcached_malloc_fn mem_malloc, - memcached_free_fn mem_free, - memcached_realloc_fn mem_realloc, - memcached_calloc_fn mem_calloc, - void *context); +memcached_return_t memcached_set_memory_allocators (memcached_st *ptr, memcached_malloc_fn mem_malloc, memcached_free_fn mem_free, memcached_realloc_fn mem_realloc, memcached_calloc_fn mem_calloc, void *context); -void - memcached_get_memory_allocators (memcached_st *ptr, - memcached_malloc_fn *mem_malloc, - memcached_free_fn *mem_free, - memcached_realloc_fn *mem_realloc, - memcached_calloc_fn *mem_calloc); +void memcached_get_memory_allocators (memcached_st *ptr, memcached_malloc_fn *mem_malloc, memcached_free_fn *mem_free, memcached_realloc_fn *mem_realloc, memcached_calloc_fn *mem_calloc); -void * - memcached_get_memory_allocators_context(const memcached_st *ptr); +void * memcached_get_memory_allocators_context(const memcached_st *ptr); -void * - (*memcached_malloc_fn) (memcached_st *ptr, const size_t size, - void *context); +void * (*memcached_malloc_fn) (memcached_st *ptr, const size_t size, void *context); -void * - (*memcached_realloc_fn) (memcached_st *ptr, void *mem, - const size_t size, - void *context); +void * (*memcached_realloc_fn) (memcached_st *ptr, void *mem, const size_t size, void *context); -void - (*memcached_free_fn) (memcached_st *ptr, void *mem, - void *context); +void (*memcached_free_fn) (memcached_st *ptr, void *mem, void *context); -void * -(*memcached_calloc_fn) (memcached_st *ptr, - size_t nelem, - const size_t elsize, - void *context); +void * (*memcached_calloc_fn) (memcached_st *ptr, size_t nelem, const size_t elsize, void *context); .ft P .fi .SH DESCRIPTION .sp libmemcached(3) allows you to specify your own memory allocators optimized -for your application. +for your application. This enables libmemcached to be used inside of applications that have their own malloc implementation. .sp memcached_set_memory_allocators() is used to set the memory allocators used by the memcached instance specified by ptr. Please note that you cannot @@ -113,13 +90,9 @@ and MEMCACHED_FAILURE if you don\(aqt pass a complete set of function pointers. .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR -.sp -Trond Norbye, <\fI\%trond.norbye@gmail.com\fP> -Brian Aker, <\fI\%brian@tangent\fP.orf .SH SEE ALSO .sp -memcached(1) libmemcached(3) memcached_get_user_data(3) memcached_set_user_data(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_set_sasl_callbacks.3 b/docs/man/memcached_set_sasl_callbacks.3 index b40b6489..093c8b98 100644 --- a/docs/man/memcached_set_sasl_callbacks.3 +++ b/docs/man/memcached_set_sasl_callbacks.3 @@ -31,8 +31,10 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .\" Man page generated from reStructeredText. . .sp -SASL support -.SH LIBRARY +memcached_set_sasl_callbacks, memcached_get_sasl_callbacks, memcached_sasl_set_auth_data, memcached_destroy_sasl_auth_data +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-** +.sp +SASL tests .sp C Client Library for memcached (libmemcached, \-lmemcached) .SH SYNOPSIS @@ -70,21 +72,18 @@ specify your own callback function with memcached_set_sasl_callbacks(). You as a client user have to initialize libsasl by using sasl_client_init before enabling it in libmemcached, and you have to shut down libsasl by calling sasl_done() when you are done using SASL from libmemcached. -.SH RETURN .sp memcached_get_sasl_callbacks() returns the callbacks currently used by this memcached handle. memcached_get_sasl_set_auth_data() returns MEMCACHED_SUCCESS upon success. -.SH HOME .sp To find out more information please check: \fI\%http://libmemcached.org/\fP -.SH AUTHOR .sp Trond Norbye, <\fI\%trond.norbye@gmail.com\fP> .SH SEE ALSO .sp -memcached(1) libmemcached(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memcached_set_user_data.3 b/docs/man/memcached_set_user_data.3 index a4691afc..63bd6733 100644 --- a/docs/man/memcached_set_user_data.3 +++ b/docs/man/memcached_set_user_data.3 @@ -35,7 +35,7 @@ Manage user specific data .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -46,7 +46,7 @@ void *memcached_get_user_data (memcached_st *ptr); void *memcached_set_user_data (memcached_st *ptr, void *data); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) allows you to store a pointer to a user specific data inside the memcached_st structure. @@ -70,7 +70,7 @@ To find out more information please check: .SH AUTHOR .sp Trond Norbye, <\fI\%trond.norbye@gmail.com\fP> -.SH SEE ALSO +.SS SEE ALSO .sp memcached(1) libmemcached(3) .SH AUTHOR diff --git a/docs/man/memcached_stat.3 b/docs/man/memcached_stat.3 index 2e6a182b..93d3abda 100644 --- a/docs/man/memcached_stat.3 +++ b/docs/man/memcached_stat.3 @@ -35,7 +35,7 @@ Get memcached statistics .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -68,7 +68,7 @@ memcached_return_t void *context); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) has the ability to query a memcached server (or collection of servers) for their current state. Queries to find state return a @@ -115,7 +115,7 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp memcached(1) libmemcached(3) memcached_strerror(3) .SH AUTHOR diff --git a/docs/man/memcached_stat_execute.3 b/docs/man/memcached_stat_execute.3 index 2c3c9595..ea47976b 100644 --- a/docs/man/memcached_stat_execute.3 +++ b/docs/man/memcached_stat_execute.3 @@ -35,7 +35,7 @@ Get memcached statistics .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -68,7 +68,7 @@ memcached_return_t void *context); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) has the ability to query a memcached server (or collection of servers) for their current state. Queries to find state return a @@ -115,7 +115,7 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp memcached(1) libmemcached(3) memcached_strerror(3) .SH AUTHOR diff --git a/docs/man/memcached_stat_get_keys.3 b/docs/man/memcached_stat_get_keys.3 index 86ce6e2a..422ec82f 100644 --- a/docs/man/memcached_stat_get_keys.3 +++ b/docs/man/memcached_stat_get_keys.3 @@ -35,7 +35,7 @@ Get memcached statistics .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -68,7 +68,7 @@ memcached_return_t void *context); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) has the ability to query a memcached server (or collection of servers) for their current state. Queries to find state return a @@ -115,7 +115,7 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp memcached(1) libmemcached(3) memcached_strerror(3) .SH AUTHOR diff --git a/docs/man/memcached_stat_get_value.3 b/docs/man/memcached_stat_get_value.3 index 221a2f7e..64e60cdb 100644 --- a/docs/man/memcached_stat_get_value.3 +++ b/docs/man/memcached_stat_get_value.3 @@ -35,7 +35,7 @@ Get memcached statistics .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -68,7 +68,7 @@ memcached_return_t void *context); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) has the ability to query a memcached server (or collection of servers) for their current state. Queries to find state return a @@ -115,7 +115,7 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp memcached(1) libmemcached(3) memcached_strerror(3) .SH AUTHOR diff --git a/docs/man/memcached_stat_servername.3 b/docs/man/memcached_stat_servername.3 index 67660009..6ad944bd 100644 --- a/docs/man/memcached_stat_servername.3 +++ b/docs/man/memcached_stat_servername.3 @@ -35,7 +35,7 @@ Get memcached statistics .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -68,7 +68,7 @@ memcached_return_t void *context); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) has the ability to query a memcached server (or collection of servers) for their current state. Queries to find state return a @@ -115,7 +115,7 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp memcached(1) libmemcached(3) memcached_strerror(3) .SH AUTHOR diff --git a/docs/man/memcached_stats.3 b/docs/man/memcached_stats.3 index d373763c..6d25b058 100644 --- a/docs/man/memcached_stats.3 +++ b/docs/man/memcached_stats.3 @@ -35,7 +35,7 @@ Get memcached statistics .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -68,7 +68,7 @@ memcached_return_t void *context); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) has the ability to query a memcached server (or collection of servers) for their current state. Queries to find state return a @@ -115,7 +115,7 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp memcached(1) libmemcached(3) memcached_strerror(3) .SH AUTHOR diff --git a/docs/man/memcached_strerror.3 b/docs/man/memcached_strerror.3 index e5215513..d36ebaa4 100644 --- a/docs/man/memcached_strerror.3 +++ b/docs/man/memcached_strerror.3 @@ -30,12 +30,10 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .. .\" Man page generated from reStructeredText. . -.sp -Get error string .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -46,7 +44,7 @@ const char * memcached_return_t rc); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_strerror() takes a \fBmemcached_return_t\fP value and returns a string describing the error. @@ -67,7 +65,7 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp memcached(1) libmemcached(3) .SH AUTHOR diff --git a/docs/man/memcached_user_data.3 b/docs/man/memcached_user_data.3 index ab8025e6..42f2ee3e 100644 --- a/docs/man/memcached_user_data.3 +++ b/docs/man/memcached_user_data.3 @@ -35,7 +35,7 @@ Manage user specific data .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -46,7 +46,7 @@ void *memcached_get_user_data (memcached_st *ptr); void *memcached_set_user_data (memcached_st *ptr, void *data); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp libmemcached(3) allows you to store a pointer to a user specific data inside the memcached_st structure. @@ -70,7 +70,7 @@ To find out more information please check: .SH AUTHOR .sp Trond Norbye, <\fI\%trond.norbye@gmail.com\fP> -.SH SEE ALSO +.SS SEE ALSO .sp memcached(1) libmemcached(3) .SH AUTHOR diff --git a/docs/man/memcached_verbosity.3 b/docs/man/memcached_verbosity.3 index 16120bc8..0339e6a9 100644 --- a/docs/man/memcached_verbosity.3 +++ b/docs/man/memcached_verbosity.3 @@ -35,7 +35,7 @@ Modifiy verbosity of servers .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -46,7 +46,7 @@ memcached_return_t unsigned int verbosity); .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_verbosity() modifies the "verbosity" of the memcached(1) servers referenced in the \fBmemcached_st\fP parameter. @@ -62,7 +62,7 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp memcached(1) libmemcached(3) memcached_strerror(3) .SH AUTHOR diff --git a/docs/man/memcached_version.3 b/docs/man/memcached_version.3 index 68c9d424..572a1eaf 100644 --- a/docs/man/memcached_version.3 +++ b/docs/man/memcached_version.3 @@ -35,7 +35,7 @@ Get library version .SH LIBRARY .sp C Client Library for memcached (libmemcached, \-lmemcached) -.SH SYNOPSIS +.SS SYNOPSIS .sp .nf .ft C @@ -49,7 +49,7 @@ memcached_return_t memcached_version (memcached_st *ptr) .ft P .fi -.SH DESCRIPTION +.SS DESCRIPTION .sp memcached_lib_version() is used to return a simple version string representing the libmemcached version (version of the client library, not server) @@ -73,7 +73,7 @@ To find out more information please check: .SH AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> -.SH SEE ALSO +.SS SEE ALSO .sp memcached(1) libmemcached(3) memcached_strerror(3) .SH AUTHOR diff --git a/docs/man/memcapable.1 b/docs/man/memcapable.1 index 965a9f6a..25910ff1 100644 --- a/docs/man/memcapable.1 +++ b/docs/man/memcapable.1 @@ -44,9 +44,9 @@ memcat [\-h hostname] [\-p port] [\-c] [\-v] [\-t n] \fBmemcapable\fP connects to the specified memcached server and tries to determine its capabilities by running the various commands and verifying the response. -.SH OPTIONS +.SS OPTIONS .sp -The following options are supported: +The following options are testsed: .INDENT 0.0 .TP .BI \-h \ hostname @@ -72,11 +72,11 @@ Set the timeout from an IO operation to/from the server to \fIn\fP seconds. .SH LIMITATIONS .sp The current version of memcapable will only verify the binary protocol. -.SH HOME +.SS HOME .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR +.SS AUTHOR .sp Trond Norbye, <\fI\%trond.norbye@gmail.com\fP> .SH SEE ALSO diff --git a/docs/man/memcat.1 b/docs/man/memcat.1 index 3185c232..95d52d3b 100644 --- a/docs/man/memcat.1 +++ b/docs/man/memcat.1 @@ -50,11 +50,11 @@ You can specify servers via the \fB\-\-servers\fP option or via the environment variable \fBMEMCACHED_SERVERS\fP. .sp For a full list of operations run the tool with the \fB\-\-help\fP option. -.SH HOME +.SS HOME .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR +.SS AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> .sp diff --git a/docs/man/memcp.1 b/docs/man/memcp.1 index 0deddac8..be3975b8 100644 --- a/docs/man/memcp.1 +++ b/docs/man/memcp.1 @@ -53,11 +53,11 @@ these, the final value in the command line list is the name of a server(s). .sp For a full list of operations run the tool with the \fB\-\-help\fP option. -.SH HOME +.SS HOME .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR +.SS AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> .sp diff --git a/docs/man/memdump.1 b/docs/man/memdump.1 index 220819ca..683053e2 100644 --- a/docs/man/memdump.1 +++ b/docs/man/memdump.1 @@ -46,11 +46,11 @@ it is told to fetch from. Because memcached does not guarentee to provide all keys it is not possible to get a complete "dump". .sp For a full list of operations run the tool with the \fB\-\-help\fP option. -.SH HOME +.SS HOME .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR +.SS AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO diff --git a/docs/man/memerror.1 b/docs/man/memerror.1 index f40b7752..7d9502cb 100644 --- a/docs/man/memerror.1 +++ b/docs/man/memerror.1 @@ -45,11 +45,11 @@ memerror [options] error_code readable string. .sp For a full list of operations run the tool with the \fB\-\-help\fP option. -.SH HOME +.SS HOME .sp To find out more infoerroration please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR +.SS AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO diff --git a/docs/man/memflush.1 b/docs/man/memflush.1 index 2e75d1a1..d506a6f5 100644 --- a/docs/man/memflush.1 +++ b/docs/man/memflush.1 @@ -48,11 +48,11 @@ You can specify servers via the \fB\-\-servers\fP option or via the environment variable \fBMEMCACHED_SERVERS\fP. .sp For a full list of operations run the tool with the \fB\-\-help\fP option. -.SH HOME +.SS HOME .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR +.SS AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> .sp diff --git a/docs/man/memrm.1 b/docs/man/memrm.1 index 4d91ebb7..05292141 100644 --- a/docs/man/memrm.1 +++ b/docs/man/memrm.1 @@ -47,11 +47,11 @@ You can specify servers via the \fB\-\-servers\fP option or via the environment variable \fBMEMCACHED_SERVERS\fP. .sp For a full list of operations run the tool with the \fB\-\-help\fP option. -.SH HOME +.SS HOME .sp To find out more information please check: \fI\%https://launchpad.net/libmemcached\fP -.SH AUTHOR +.SS AUTHOR .sp Brian Aker, <\fI\%brian@tangent.org\fP> .sp diff --git a/docs/man/memslap.1 b/docs/man/memslap.1 index 522bfb5d..e3708c48 100644 --- a/docs/man/memslap.1 +++ b/docs/man/memslap.1 @@ -33,1188 +33,18 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] .sp memslap \- Load testing and benchmarking tool for memcached .SH SYNOPSIS -.sp -.nf -.ft C -memslap [options] -.ft P -.fi .SH DESCRIPTION .sp \fBmemslap\fP is a load generation and benchmark tool for memcached(1) servers. It generates configurable workload such as threads, concurrencies, connections, run time, overwrite, miss rate, key size, value size, get/set proportion, -expected throughput, and so on. Furthermore, it also supports data -verification, expire\-time verification, UDP, binary protocol, facebook test, -replication test, multi\-get and reconnection, etc. -.sp -Memslap manages network connections like memcached with -libevent. Each thread of memslap is bound with a CPU core, all -the threads don\(aqt communicate with each other, and there are several socket -connections in each thread. Each connection keeps key size distribution, -value size distribution, and command distribution by itself. +expected throughput, and so on. .sp You can specify servers via the \fB\-\-servers\fP option or via the environment variable \fBMEMCACHED_SERVERS\fP. -.SH FEATURES -.sp -Memslap is developed to for the following purposes: -.sp -Manages network connections with libevent asynchronously. -.sp -Set both TCP and UDP up to use non\-blocking IO. -.sp -Improves parallelism: higher performance in multi\-threads environments. -.sp -Improves time efficiency: faster processing speed. -.sp -Generates key and value more efficiently; key size distribution and value size distribution are configurable. -.sp -Supports get, multi\-get, and set commands; command distribution is configurable. -.sp -Supports controllable miss rate and overwrite rate. -.sp -Supports data and expire\-time verification. -.sp -Supports dumping statistic information periodically. -.sp -Supports thousands of TCP connections. -.sp -Supports binary protocol. -.sp -Supports facebook test (set with TCP and multi\-get with UDP) and replication test. -.SH DETAILS -.SS Effective implementation of network. -.sp -For memslap, both TCP and UDP use non\-blocking network IO. All -the network events are managed by libevent as memcached. The network module -of memslap is similar to memcached. Libevent can ensure -memslap can handle network very efficiently. -.SS Effective implementation of multi\-threads and concurrency -.sp -Memslap has the similar implementation of multi\-threads to -memcached. Memslap creates one or more self\-governed threads; -each thread is bound with one CPU core if the system supports setting CPU -core affinity. -.sp -In addition, each thread has a libevent to manage the events of the network; -each thread has one or more self\-governed concurrencies; and each -concurrency has one or more socket connections. All the concurrencies don’t -communicate with each other even though they are in the same thread. -.sp -Memslap can create thousands of socket connections, and each -concurrency has tens of socket connections. Each concurrency randomly or -sequentially selects one socket connection from its socket connection pool -to run, so memslap can ensure each concurrency handles one -socket connection at any given time. Users can specify the number of -concurrency and socket connections of each concurrency according to their -expected workload. -.SS Effective implementation of generating key and value -.sp -In order to improve time efficiency and space efficiency, -memslap creates a random characters table with 10M characters. All the -suffixes of keys and values are generated from this random characters table. -.sp -Memslap uses the offset in the character table and the length -of the string to identify a string. It can save much memory. -Each key contains two parts, a prefix and a suffix. The prefix is an -uint64_t, 8 bytes. In order to verify the data set before, -memslap need to ensure each key is unique, so it uses the prefix to identify -a key. The prefix cannot include illegal characters, such as ‘r’, ‘n’, -‘0’ and ‘ ‘. And memslap has an algorithm to ensure that. -.sp -Memslap doesn’t generate all the objects (key\-value pairs) at -the beginning. It only generates enough objects to fill the task window -(default 10K objects) of each concurrency. Each object has the following -basic information, key prefix, key suffix offset in the character table, key -length, value offset in the character table, and value length. -.sp -In the work process, each concurrency sequentially or randomly selects an -object from the window to do set operation or get operation. At the same -time, each concurrency kicks objects out of its window and adds new object -into it. -.SS Simple but useful task scheduling -.sp -Memslap uses libevent to schedule all the concurrencies of -threads, and each concurrency schedules tasks based on the local task -window. Memslap assumes that if each concurrency keeps the same -key distribution, value distribution and commands distribution, from -outside, memslap keeps all the distribution as a whole. -Each task window includes a lot of objects, each object stores its basic -information, such as key, value, expire time, and so on. At any time, all -the objects in the window keep the same and fixed key and value -distribution. If an object is overwritten, the value of the object will be -updated. Memslap verifies the data or expire\-time according to -the object information stored in the task window. -.sp -Libevent selects which concurrency to handle based on a specific network -event. Then the concurrency selects which command (get or set) to operate -based on the command distribution. If it needs to kick out an old object and -add a new object, in order to keep the same key and value distribution, the -new object must have the same key length and value length. -.sp -If memcached server has two cache layers (memory and SSD), running -memslap with different window sizes can get different cache -miss rates. If memslap adds enough objects into the windows at -the beginning, and the cache of memcached cannot store all the objects -initialized, then memslap will get some objects from the second -cache layer. It causes the first cache layer to miss. So the user can -specify the window size to get the expected miss rate of the first cache -layer. -.SS Useful implementation of multi\-servers , UDP, TCP, multi\-get and binary protocol -.sp -Because each thread is self\-governed, memslap can assign -different threads to handle different memcached servers. This is just one of -the ways in which memslap supports multiple servers. The only -limitation is that the number of servers cannot be greater than the number -of threads. The other way to support multiple servers is for replication -test. Each concurrency has one socket connection to each memcached server. -For the implementation, memslap can set some objects to one -memcached server, and get these objects from the other servers. -.sp -By default, Memslap does single get. If the user specifies -multi\-get option, memslap will collect enough get commands and -pack and send the commands together. -.sp -Memslap supports both the ASCII protocol and binary protocol, -but it runs on the ASCII protocol by default. -Memslap by default runs on the TCP protocol, but it also -supports UDP. Because UDP is unreliable, dropped packages and out\-of\-order -packages may occur. Memslap creates a memory buffer to handle -these problems. Memslap tries to read all the response data of -one command from the server and reorders the response data. If some packages -get lost, the waiting timeout mechanism can ensure half\-baked packages will -be discarded and the next command will be sent. -.SH USAGE -.sp -Below are some usage samples: -.sp -memslap \-s 127.0.0.1:11211 \-S 5s -.sp -memslap \-s 127.0.0.1:11211 \-t 2m \-v 0.2 \-e 0.05 \-b -.sp -memslap \-s 127.0.0.1:11211 \-F config \-t 2m \-w 40k \-S 20s \-o 0.2 -.sp -memslap \-s 127.0.0.1:11211 \-F config \-t 2m \-T 4 \-c 128 \-d 20 \-P 40k -.sp -memslap \-s 127.0.0.1:11211 \-F config \-t 2m \-d 50 \-a \-n 40 -.sp -memslap \-s 127.0.0.1:11211,127.0.0.1:11212 \-F config \-t 2m -.sp -memslap \-s 127.0.0.1:11211,127.0.0.1:11212 \-F config \-t 2m \-p 2 -.sp -The user must specify one server at least to run memslap. The -rest of the parameters have default values, as shown below: -.sp -Thread number = 1 Concurrency = 16 -.sp -Run time = 600 seconds Configuration file = NULL -.sp -Key size = 64 Value size = 1024 -.sp -Get/set = 9:1 Window size = 10k -.sp -Execute number = 0 Single get = true -.sp -Multi\-get = false Number of sockets of each concurrency = 1 -.sp -Reconnect = false Data verification = false -.sp -Expire\-time verification = false ASCII protocol = true -.sp -Binary protocol = false Dumping statistic information -.sp -periodically = false -.sp -Overwrite proportion = 0% UDP = false -.sp -TCP = true Limit throughput = false -.sp -Facebook test = false Replication test = false -.SS Key size, value size and command distribution. -.sp -All the distributions are read from the configuration file specified by user -with “—cfg_cmd” option. If the user does not specify a configuration file, -memslap will run with the default distribution (key size = 64, -value size = 1024, get/set = 9:1). For information on how to edit the -configuration file, refer to the “Configuration File” section. -.sp -The minimum key size is 16 bytes; the maximum key size is 250 bytes. The -precision of proportion is 0.001. The proportion of distribution will be -rounded to 3 decimal places. -.sp -The minimum value size is 1 bytes; the maximum value size is 1M bytes. The -precision of proportion is 0.001. The proportion of distribution will be -rounded to 3 decimal places. -Currently, memslap only supports set and get commands. And it -supports 100% set and 100% get. For 100% get, it will preset some objects to -the server. -.SS Multi\-thread and concurrency -.sp -The high performance of memslap benefits from the special -schedule of thread and concurrency. It’s important to specify the proper -number of them. The default number of threads is 1; the default number of -concurrency is 16. The user can use “—threads” and “\-\-concurrency” to -specify these variables. -.sp -If the system supports setting CPU affinity and the number of threads -specified by the user is greater than 1, memslap will try to -bind each thread to a different CPU core. So if you want to get the best -performance memslap, it is better to specify the number of -thread equal to the number of CPU cores. The number of threads specified by -the user can also be less or greater than the number of CPU cores. Because -of the limitation of implementation, the number of concurrencies could be -the multiple of the number of threads. -.INDENT 0.0 -.IP 1. 3 -. -For 8 CPU cores system -.UNINDENT -.sp -For example: -.sp -\-\-threads=2 \-\-concurrency=128 -.sp -\-\-threads=8 \-\-concurrency=128 -.sp -\-\-threads=8 \-\-concurrency=256 -.sp -\-\-threads=12 \-\-concurrency=144 -.INDENT 0.0 -.IP 2. 3 -. -For 16 CPU cores system -.UNINDENT -.sp -For example: -.sp -\-\-threads=8 \-\-concurrency=128 -.sp -\-\-threads=16 \-\-concurrency=256 -.sp -\-\-threads=16 \-\-concurrency=512 -.sp -\-\-threads=24 \-\-concurrency=288 -.sp -The memslap performs very well, when -used to test the performance of memcached servers. -Most of the time, the bottleneck is the network or -the server. If for some reason the user wants to -limit the performance of memslap, there -are two ways to do this: -.sp -Decrease the number of threads and concurrencies. -Use the option “\-\-tps” that memslap -provides to limit the throughput. This option allows -the user to get the expected throughput. For -example, assume that the maximum throughput is 50 -kops/s for a specific configuration, you can specify -the throughput equal to or less than the maximum -throughput using “\-\-tps” option. -.SS Window size -.sp -Most of the time, the user does not need to specify the window size. The -default window size is 10k. For Schooner Memcached, the user can specify -different window sizes to get different cache miss rates based on the test -case. Memslap supports cache miss rate between 0% and 100%. -If you use this utility to test the performance of Schooner Memcached, you -can specify a proper window size to get the expected cache miss rate. The -formula for calculating window size is as follows: -.sp -Assume that the key size is 128 bytes, and the value size is 2048 bytes, and -concurrency=128. -.sp -1. Small cache cache_size=1M, 100% cache miss (all data get from SSD). -win_size=10k -.INDENT 0.0 -.IP 2. 3 -. -cache_size=4G -.UNINDENT -.sp -(1). cache miss rate 0% -.sp -win_size=8k -.sp -(2). cache miss rate 5% -.sp -win_size=11k -.INDENT 0.0 -.IP 3. 3 -. -cache_size=16G -.UNINDENT -.sp -(1). cache miss rate 0% -.sp -win_size=32k -.sp -(2). cache miss -.sp -rate 5% -.sp -win_size=46k -.sp -The formula for calculating window size for cache miss rate 0%: -.sp -cache_size / concurrency / (key_size + value_size) * 0.5 -.sp -The formula for calculating window size for cache miss rate 5%: -.sp -cache_size / concurrency / (key_size + value_size) * 0.7 -.SS Verification -.sp -Memslap supports both data verification and expire\-time -verification. The user can use "\-\-verify=" or "\-v" to specify the proportion -of data verification. In theory, it supports 100% data verification. The -user can use "\-\-exp_verify=" or "\-e" to specify the proportion of -expire\-time verification. In theory, it supports 100% expire\-time -verification. Specify the "\-\-verbose" options to get more detailed error -information. -.sp -For example: \-\-exp_verify=0.01 –verify=0.1 , it means that 1% of the objects -set with expire\-time, 10% of the objects gotten will be verified. If the -objects are gotten, memslap will verify the expire\-time and -value. -.SS multi\-servers and multi\-clients -.sp -Memslap supports multi\-servers based on self\-governed thread. -There is a limitation that the number of servers cannot be greater than the -number of threads. Memslap assigns one thread to handle one -server at least. The user can use the "\-\-servers=" or "\-s" option to specify -multi\-servers. -.sp -For example: -.sp -\-\-servers=10.1.1.1:11211,10.1.1.2:11212,10.1.1.3:11213 \-\-threads=6 \-\-concurrency=36 -.sp -The above command means that there are 6 threads, with each thread having 6 -concurrencies and that threads 0 and 3 handle server 0 (10.1.1.1); threads 1 -and 4 handle server 1 (10.1.1.2); and thread 2 and 5 handle server 2 -(10.1.1.3). -.sp -All the threads and concurrencies in memslap are self\-governed. -.sp -So is memslap. The user can start up several -memslap instances. The user can run memslap on different client -machines to communicate with the same memcached server at the same. It is -recommended that the user start different memslap on different -machines using the same configuration. -.SS Run with execute number mode or time mode -.sp -The default memslap runs with time mode. The default run time -is 10 minutes. If it times out, memslap will exit. Do not -specify both execute number mode and time mode at the same time; just -specify one instead. -.sp -For example: -.sp -\-\-time=30s (It means the test will run 30 seconds.) -.sp -\-\-execute_number=100000 (It means that after running 100000 commands, the test will exit.) -.SS Dump statistic information periodically. -.sp -The user can use "\-\-stat_freq=" or "\-S" to specify the frequency. -.sp -For example: -.sp -\-\-stat_freq=20s -.sp -Memslap will dump the statistics of the commands (get and set) at the frequency of every 20 -seconds. -.sp -For more information on the format of dumping statistic information, refer to “Format of Output” section. -.SS Multi\-get -.sp -The user can use "\-\-division=" or "\-d" to specify multi\-get keys count. -Memslap by default does single get with TCP. Memslap also supports data -verification and expire\-time verification for multi\-get. -.sp -Memslap supports multi\-get with both TCP and UDP. Because of -the different implementation of the ASCII protocol and binary protocol, -there are some differences between the two. For the ASCII protocol, -memslap sends one “multi\-get” to the server once. For the -binary protocol, memslap sends several single get commands -together as “multi\-get” to the server. -.SS UDP and TCP -.sp -Memslap supports both UDP and TCP. For TCP, -memslap does not reconnect the memcached server if socket connections are -lost. If all the socket connections are lost or memcached server crashes, -memslap will exit. If the user specifies the “\-\-reconnect” -option when socket connections are lost, it will reconnect them. -.sp -User can use “\-\-udp” to enable the UDP feature, but UDP comes with some -limitations: -.sp -UDP cannot set data more than 1400 bytes. -.sp -UDP is not supported by the binary protocol because the binary protocol of -memcached does not support that. -.sp -UDP doesn’t support reconnection. -.SS Facebook test -.sp -Set data with TCP and multi\-get with UDP. Specify the following options: -.sp -"\-\-facebook \-\-division=50" -.sp -If you want to create thousands of TCP connections, specify the -.sp -"\-\-conn_sock=" option. -.sp -For example: \-\-facebook \-\-division=50 \-\-conn_sock=200 -.sp -The above command means that memslap will do facebook test, -each concurrency has 200 socket TCP connections and one UDP socket. -.sp -Memslap sets objects with the TCP socket, and multi\-gets 50 -objects once with the UDP socket. -.sp -If you specify "\-\-division=50", the key size must be less that 25 bytes -because the UDP packet size is 1400 bytes. -.SS Replication test -.sp -For replication test, the user must specify at least two memcached servers. -The user can use “—rep_write=” option to enable feature. -.sp -For example: -.sp -\-\-servers=10.1.1.1:11211,10.1.1.2:11212 –rep_write=2 -.sp -The above command means that there are 2 replication memcached servers, -memslap will set objects to both server 0 and server 1, get -objects which are set to server 0 before from server 1, and also get objects -which are set to server 1 before from server 0. If server 0 crashes, -memslap will only get objects from server 1. If server 0 comes -back to life again, memslap will reconnect server 0. If both -server 0 and server 1 crash, memslap will exit. -.SS Supports thousands of TCP connections -.sp -Start memslap with "\-\-conn_sock=" or "\-n" to enable this -feature. Make sure that your system can support opening thousands of files -and creating thousands of sockets. However, this feature does not support -reconnection if sockets disconnect. -.sp -For example: -.sp -\-\-threads=8 \-\-concurrency=128 \-\-conn_sock=128 -.sp -The above command means that memslap starts up 8 threads, each -thread has 16 concurrencies, each concurrency has 128 TCP socket -connections, and the total number of TCP socket connections is 128 * 128 = -16384. -.SS Supports binary protocol -.sp -Start memslap with "\-\-binary" or "\-B" options to enable this -feature. It supports all the above features except UDP, because the latest -memcached 1.3.3 does not implement binary UDP protocol. -.sp -For example: -.sp -\-\-binary -.sp -Since memcached 1.3.3 doesn\(aqt implement binary UDP protocol, -memslap does not support UDP. In addition, memcached 1.3.3 does not support -multi\-get. If you specify "\-\-division=50" option, it just sends 50 get -commands together as “mulit\-get” to the server. -.SH CONFIGURATION FILE -.sp -This section describes the format of the configuration file. By default -when no configuration file is specified memslap reads the default -one located at ~/.memslap.cnf. -.sp -Below is a sample configuration file: -.sp -.nf -.ft C -*************************************************************************** -#comments should start with \(aq#\(aq -#key -#start_len end_len proportion -# -#key length range from start_len to end_len -#start_len must be equal to or greater than 16 -#end_len must be equal to or less than 250 -#start_len must be equal to or greater than end_len -#memslap will generate keys according to the key range -#proportion: indicates keys generated from one range accounts for the total -generated keys -# -#example1: key range 16~100 accounts for 80% -# key range 101~200 accounts for 10% -# key range 201~250 accounts for 10% -# total should be 1 (0.8+0.1+0.1 = 1) -# -# 16 100 0.8 -# 101 200 0.1 -# 201 249 0.1 -# -#example2: all keys length are 128 bytes -# -# 128 128 1 -key -128 128 1 -#value -#start_len end_len proportion -# -#value length range from start_len to end_len -#start_len must be equal to or greater than 1 -#end_len must be equal to or less than 1M -#start_len must be equal to or greater than end_len -#memslap will generate values according to the value range -#proportion: indicates values generated from one range accounts for the -total generated values -# -#example1: value range 1~1000 accounts for 80% -# value range 1001~10000 accounts for 10% -# value range 10001~100000 accounts for 10% -# total should be 1 (0.8+0.1+0.1 = 1) -# -# 1 1000 0.8 -# 1001 10000 0.1 -# 10001 100000 0.1 -# -#example2: all value length are 128 bytes -# -# 128 128 1 -value -2048 2048 1 -#cmd -#cmd_type cmd_proportion -# -#currently memslap only supports get and set command. -# -#cmd_type -#set 0 -#get 1 -# -#example: set command accounts for 50% -# get command accounts for 50% -# total should be 1 (0.5+0.5 = 1) -# -# cmd -# 0 0.5 -# 1 0.5 -cmd -0 0.1 -1.0 0.9 -.ft P -.fi -.SH FORMAT OF OUTPUT -.sp -At the beginning, memslap displays some configuration information as follows: -.sp -servers : 127.0.0.1:11211 -.sp -threads count: 1 -.sp -concurrency: 16 -.sp -run time: 20s -.sp -windows size: 10k -.sp -set proportion: set_prop=0.10 -.sp -get proportion: get_prop=0.90 -.SS Where -.sp -servers : "servers" -.INDENT 0.0 -.INDENT 3.5 -.sp -The servers used by memslap. -.UNINDENT -.UNINDENT -.sp -threads count -.INDENT 0.0 -.INDENT 3.5 -.sp -The number of threads memslap runs with. -.UNINDENT -.UNINDENT -.sp -concurrency -.INDENT 0.0 -.INDENT 3.5 -.sp -The number of concurrencies memslap runs with. -.UNINDENT -.UNINDENT -.sp -run time -.INDENT 0.0 -.INDENT 3.5 -.sp -How long to run memslap. -.UNINDENT -.UNINDENT -.sp -windows size -.INDENT 0.0 -.INDENT 3.5 -.sp -The task window size of each concurrency. -.UNINDENT -.UNINDENT -.sp -set proportion -.INDENT 0.0 -.INDENT 3.5 -.sp -The proportion of set command. -.UNINDENT -.UNINDENT -.sp -get proportion -.INDENT 0.0 -.INDENT 3.5 -.sp -The proportion of get command. -.UNINDENT -.UNINDENT -.sp -The output of dynamic statistics is something like this: -.sp -.nf -.ft C -\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- -Get Statistics -Type Time(s) Ops TPS(ops/s) Net(M/s) Get_miss Min(us) Max(us) -Avg(us) Std_dev Geo_dist -Period 5 345826 69165 65.3 0 27 2198 203 -95.43 177.29 -Global 20 1257935 62896 71.8 0 26 3791 224 -117.79 192.60 - - -Set Statistics -Type Time(s) Ops TPS(ops/s) Net(M/s) Get_miss Min(us) Max(us) -Avg(us) Std_dev Geo_dist -Period 5 38425 7685 7.3 0 42 628 240 -88.05 220.21 -Global 20 139780 6989 8.0 0 37 3790 253 -117.93 224.83 - - -Total Statistics -Type Time(s) Ops TPS(ops/s) Net(M/s) Get_miss Min(us) Max(us) -Avg(us) Std_dev Geo_dist -Period 5 384252 76850 72.5 0 27 2198 207 -94.72 181.18 -Global 20 1397720 69886 79.7 0 26 3791 227 -117.93 195.60 -\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- -.ft P -.fi -.SS Where -.sp -Get Statistics -.INDENT 0.0 -.INDENT 3.5 -.sp -Statistics information of get command -.UNINDENT -.UNINDENT -.sp -Set Statistics -.INDENT 0.0 -.INDENT 3.5 -.sp -Statistics information of set command -.UNINDENT -.UNINDENT -.sp -Total Statistics -.INDENT 0.0 -.INDENT 3.5 -.sp -Statistics information of both get and set command -.UNINDENT -.UNINDENT -.sp -Period -.INDENT 0.0 -.INDENT 3.5 -.sp -Result within a period -.UNINDENT -.UNINDENT -.sp -Global -.INDENT 0.0 -.INDENT 3.5 -.sp -Accumulated results -.UNINDENT -.UNINDENT -.sp -Ops -.INDENT 0.0 -.INDENT 3.5 -.sp -Total operations -.UNINDENT -.UNINDENT -.sp -TPS -.INDENT 0.0 -.INDENT 3.5 -.sp -Throughput, operations/second -.UNINDENT -.UNINDENT -.sp -Net -.INDENT 0.0 -.INDENT 3.5 -.sp -The rate of network -.UNINDENT -.UNINDENT -.sp -Get_miss -.INDENT 0.0 -.INDENT 3.5 -.sp -How many objects can’t be gotten -.UNINDENT -.UNINDENT -.sp -Min -.INDENT 0.0 -.INDENT 3.5 -.sp -The minimum response time -.UNINDENT -.UNINDENT -.sp -Max -.INDENT 0.0 -.INDENT 3.5 -.sp -The maximum response time -.UNINDENT -.UNINDENT -.sp -Avg: -.INDENT 0.0 -.INDENT 3.5 -.sp -The average response time -.UNINDENT -.UNINDENT -.sp -Std_dev -.INDENT 0.0 -.INDENT 3.5 -.sp -Standard deviation of response time -.UNINDENT -.UNINDENT -.sp -Geo_dist -.INDENT 0.0 -.INDENT 3.5 -.sp -Geometric distribution based on natural exponential function -.UNINDENT -.UNINDENT -.sp -At the end, memslap will output something like this: -.sp -.nf -.ft C -\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- -Get Statistics (1257956 events) - Min: 26 - Max: 3791 - Avg: 224 - Geo: 192.60 - Std: 116.23 - Log2 Dist: - 4: 0 10 84490 215345 - 8: 484890 459823 12543 824 - 12: 31 - - Set Statistics (139782 events) - Min: 37 - Max: 3790 - Avg: 253 - Geo: 224.84 - Std: 116.83 - Log2 Dist: - 4: 0 0 4200 16988 - 8: 50784 65574 2064 167 - 12: 5 - - Total Statistics (1397738 events) - Min: 26 - Max: 3791 - Avg: 227 - Geo: 195.60 - Std: 116.60 - Log2 Dist: - 4: 0 10 88690 232333 - 8: 535674 525397 14607 991 - 12: 36 - -cmd_get: 1257969 -cmd_set: 139785 -get_misses: 0 -verify_misses: 0 -verify_failed: 0 -expired_get: 0 -unexpired_unget: 0 -written_bytes: 242516030 -read_bytes: 1003702556 -object_bytes: 152086080 -packet_disorder: 0 -packet_drop: 0 -udp_timeout: 0 - -Run time: 20.0s Ops: 1397754 TPS: 69817 Net_rate: 59.4M/s -\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- -.ft P -.fi -.SS Where -.sp -Get Statistics -.INDENT 0.0 -.INDENT 3.5 -.sp -Get statistics of response time -.UNINDENT -.UNINDENT -.sp -Set Statistics -.INDENT 0.0 -.INDENT 3.5 -.sp -Set statistics of response time -.UNINDENT -.UNINDENT -.sp -Total Statistics -.INDENT 0.0 -.INDENT 3.5 -.sp -Both get and set statistics of response time -.UNINDENT -.UNINDENT -.sp -Min -.INDENT 0.0 -.INDENT 3.5 -.sp -The accumulated and minimum response time -.UNINDENT -.UNINDENT -.sp -Max -.INDENT 0.0 -.INDENT 3.5 -.sp -The accumulated and maximum response time -.UNINDENT -.UNINDENT -.sp -Avg -.INDENT 0.0 -.INDENT 3.5 -.sp -The accumulated and average response time -.UNINDENT -.UNINDENT -.sp -Std -.INDENT 0.0 -.INDENT 3.5 -.sp -Standard deviation of response time -.UNINDENT -.UNINDENT -.sp -Log2 Dist -.INDENT 0.0 -.INDENT 3.5 -.sp -Geometric distribution based on logarithm 2 -.UNINDENT -.UNINDENT -.sp -cmd_get -.INDENT 0.0 -.INDENT 3.5 -.sp -Total get commands done -.UNINDENT -.UNINDENT -.sp -cmd_set -.INDENT 0.0 -.INDENT 3.5 -.sp -Total set commands done -.UNINDENT -.UNINDENT -.sp -get_misses -.INDENT 0.0 -.INDENT 3.5 -.sp -How many objects can’t be gotten from server -.UNINDENT -.UNINDENT -.sp -verify_misses -.INDENT 0.0 -.INDENT 3.5 -.sp -How many objects need to verify but can’t get them -.UNINDENT -.UNINDENT -.sp -verify_failed -.INDENT 0.0 -.INDENT 3.5 -.sp -How many objects with insistent value -.UNINDENT -.UNINDENT -.sp -expired_get -.INDENT 0.0 -.INDENT 3.5 -.sp -How many objects are expired but we get them -.UNINDENT -.UNINDENT -.sp -unexpired_unget -.INDENT 0.0 -.INDENT 3.5 -.sp -How many objects are unexpired but we can’t get them -.UNINDENT -.UNINDENT -.sp -written_bytes -.INDENT 0.0 -.INDENT 3.5 -.sp -Total written bytes -.UNINDENT -.UNINDENT -.sp -read_bytes -.INDENT 0.0 -.INDENT 3.5 -.sp -Total read bytes -.UNINDENT -.UNINDENT -.sp -object_bytes -.INDENT 0.0 -.INDENT 3.5 -.sp -Total object bytes -.UNINDENT -.UNINDENT -.sp -packet_disorder -.INDENT 0.0 -.INDENT 3.5 -.sp -How many UDP packages are disorder -.UNINDENT -.UNINDENT -.sp -packet_drop -.INDENT 0.0 -.INDENT 3.5 -.sp -How many UDP packages are lost -.UNINDENT -.UNINDENT -.sp -udp_timeout -.INDENT 0.0 -.INDENT 3.5 -.sp -How many times UDP time out happen -.UNINDENT -.UNINDENT -.sp -Run time -.INDENT 0.0 -.INDENT 3.5 -.sp -Total run time -.UNINDENT -.UNINDENT -.sp -Ops -.INDENT 0.0 -.INDENT 3.5 -.sp -Total operations -.UNINDENT -.UNINDENT -.sp -TPS -.INDENT 0.0 -.INDENT 3.5 -.sp -Throughput, operations/second -.UNINDENT -.UNINDENT -.sp -Net_rate -.INDENT 0.0 -.INDENT 3.5 -.sp -The average rate of network -.UNINDENT -.UNINDENT -.SH OPTIONS -.INDENT 0.0 -.TP -.B \-s, \-\-servers= -. -List one or more servers to connect. Servers count must be less than -threads count. e.g.: \-\-servers=localhost:1234,localhost:11211 -.TP -.B \-T, \-\-threads= -. -Number of threads to startup, better equal to CPU numbers. Default 8. -.TP -.B \-c, \-\-concurrency= -. -Number of concurrency to simulate with load. Default 128. -.TP -.B \-n, \-\-conn_sock= -. -Number of TCP socks per concurrency. Default 1. -.TP -.B \-x, \-\-execute_number= -. -Number of operations(get and set) to execute for the -given test. Default 1000000. -.TP -.B \-t, \-\-time= -. -How long the test to run, suffix: s\-seconds, m\-minutes, h\-hours, -d\-days e.g.: \-\-time=2h. -.TP -.B \-F, \-\-cfg_cmd= -. -Load the configure file to get command,key and value distribution list. -.TP -.B \-w, \-\-win_size= -. -Task window size of each concurrency, suffix: K, M e.g.: \-\-win_size=10k. -Default 10k. -.TP -.B \-X, \-\-fixed_size= -. -Fixed length of value. -.TP -.B \-v, \-\-verify= -. -The proportion of date verification, e.g.: \-\-verify=0.01 -.TP -.B \-d, \-\-division= -. -Number of keys to multi\-get once. Default 1, means single get. -.TP -.B \-S, \-\-stat_freq= -. -Frequency of dumping statistic information. suffix: s\-seconds, -m\-minutes, e.g.: \-\-resp_freq=10s. -.TP -.B \-e, \-\-exp_verify= -. -The proportion of objects with expire time, e.g.: \-\-exp_verify=0.01. -Default no object with expire time -.TP -.B \-o, \-\-overwrite= -. -The proportion of objects need overwrite, e.g.: \-\-overwrite=0.01. -Default never overwrite object. -.UNINDENT -.INDENT 0.0 -.TP -.B \-R, \-\-reconnect -. -Reconnect support, when connection is closed it will be reconnected. -.TP -.B \-U, \-\-udp -. -UDP support, default memslap uses TCP, TCP port and UDP port of -server must be same. -.TP -.B \-a, \-\-facebook -. -Whether it enables facebook test feature, set with TCP and multi\-get with UDP. -.TP -.B \-B, \-\-binary -. -Whether it enables binary protocol. Default with ASCII protocol. -.UNINDENT -.INDENT 0.0 -.TP -.B \-P, \-\-tps= -. -Expected throughput, suffix: K, e.g.: \-\-tps=10k. -.TP -.B \-p, \-\-rep_write= -. -The first nth servers can write data, e.g.: \-\-rep_write=2. -.UNINDENT -.INDENT 0.0 -.TP -.B \-b, \-\-verbose -. -Whether it outputs detailed information when verification fails. -.TP -.B \-h, \-\-help -. -Display this message and then exit. -.TP -.B \-V, \-\-version -. -Display the version of the application and then exit. -.UNINDENT -.SH EXAMPLES -.sp -memslap \-s 127.0.0.1:11211 \-S 5s -.sp -memslap \-s 127.0.0.1:11211 \-t 2m \-v 0.2 \-e 0.05 \-b -.sp -memslap \-s 127.0.0.1:11211 \-F config \-t 2m \-w 40k \-S 20s \-o 0.2 -.sp -memslap \-s 127.0.0.1:11211 \-F config \-t 2m \-T 4 \-c 128 \-d 20 \-P 40k -.sp -memslap \-s 127.0.0.1:11211 \-F config \-t 2m \-d 50 \-a \-n 40 -.sp -memslap \-s 127.0.0.1:11211,127.0.0.1:11212 \-F config \-t 2m -.sp -memslap \-s 127.0.0.1:11211,127.0.0.1:11212 \-F config \-t 2m \-p 2 -.SH HOME -.sp -To find out more information please check: -\fI\%http://launchpad.org/libmemcached\fP -.SH AUTHORS -.sp -Mingqiang Zhuang <\fI\%mingqiangzhuang@hengtiansoft.com\fP> (Schooner Technolgy) -Brian Aker, <\fI\%brian@tangent.org\fP> .SH SEE ALSO .sp -memcached(1) libmemcached(3) +\fImemcached(1)\fP \fIlibmemcached(3)\fP \fImemcached_strerror(3)\fP .SH AUTHOR Brian Aker .SH COPYRIGHT diff --git a/docs/man/memstat.1 b/docs/man/memstat.1 index 024f26bf..2b079ec2 100644 --- a/docs/man/memstat.1 +++ b/docs/man/memstat.1 @@ -50,15 +50,10 @@ to specify the "argument" sent to the stats command (ie slab, size, items, etc..). .sp For a full list of operations run the tool with the \fB\-\-help\fP option. -.SH HOME +.SS HOME .sp To find out more information please check: \fI\%http://launchpad.org/libmemcached\fP -.SH AUTHOR -.sp -Brian Aker, <\fI\%brian@tangent.org\fP> -.sp -Mark Atwood, <\fI\%mark@fallenpegasus.com\fP> .SH SEE ALSO .sp memcached(1) libmemcached(3) diff --git a/docs/memaslap.rst b/docs/memaslap.rst new file mode 100644 index 00000000..03eb6d98 --- /dev/null +++ b/docs/memaslap.rst @@ -0,0 +1,1256 @@ +======== +memaslap +======== + + +memaslap - Load testing and benchmarking tool for memcached + + +******** +SYNOPSIS +******** + + + +.. code-block:: perl + + memaslap [options] + + + +*********** +DESCRIPTION +*********** + + +\ **memaslap**\ is a load generation and benchmark tool for memcached(1) +servers. It generates configurable workload such as threads, concurrencies, connections, +run time, overwrite, miss rate, key size, value size, get/set proportion, +expected throughput, and so on. Furthermore, it also supports data +verification, expire-time verification, UDP, binary protocol, facebook test, +replication test, multi-get and reconnection, etc. + +Memslap manages network connections like memcached with +libevent. Each thread of memaslap is bound with a CPU core, all +the threads don't communicate with each other, and there are several socket +connections in each thread. Each connection keeps key size distribution, +value size distribution, and command distribution by itself. + +You can specify servers via the \ **--servers**\ option or via the +environment variable \ ``MEMCACHED_SERVERS``\ . + + +******** +FEATURES +******** + + +Memslap is developed to for the following purposes: + + +Manages network connections with libevent asynchronously. + + + +Set both TCP and UDP up to use non-blocking IO. + + + +Improves parallelism: higher performance in multi-threads environments. + + + +Improves time efficiency: faster processing speed. + + + +Generates key and value more efficiently; key size distribution and value size distribution are configurable. + + + +Supports get, multi-get, and set commands; command distribution is configurable. + + + +Supports controllable miss rate and overwrite rate. + + + +Supports data and expire-time verification. + + + +Supports dumping statistic information periodically. + + + +Supports thousands of TCP connections. + + + +Supports binary protocol. + + + +Supports facebook test (set with TCP and multi-get with UDP) and replication test. + + + + +******* +DETAILS +******* + + +Effective implementation of network. +____________________________________ + + +For memaslap, both TCP and UDP use non-blocking network IO. All +the network events are managed by libevent as memcached. The network module +of memaslap is similar to memcached. Libevent can ensure +memaslap can handle network very efficiently. + + +Effective implementation of multi-threads and concurrency +_________________________________________________________ + + +Memslap has the similar implementation of multi-threads to +memcached. Memslap creates one or more self-governed threads; +each thread is bound with one CPU core if the system supports setting CPU +core affinity. + +In addition, each thread has a libevent to manage the events of the network; +each thread has one or more self-governed concurrencies; and each +concurrency has one or more socket connections. All the concurrencies don’t +communicate with each other even though they are in the same thread. + +Memslap can create thousands of socket connections, and each +concurrency has tens of socket connections. Each concurrency randomly or +sequentially selects one socket connection from its socket connection pool +to run, so memaslap can ensure each concurrency handles one +socket connection at any given time. Users can specify the number of +concurrency and socket connections of each concurrency according to their +expected workload. + + +Effective implementation of generating key and value +____________________________________________________ + + +In order to improve time efficiency and space efficiency, +memaslap creates a random characters table with 10M characters. All the +suffixes of keys and values are generated from this random characters table. + +Memslap uses the offset in the character table and the length +of the string to identify a string. It can save much memory. +Each key contains two parts, a prefix and a suffix. The prefix is an +uint64_t, 8 bytes. In order to verify the data set before, +memaslap need to ensure each key is unique, so it uses the prefix to identify +a key. The prefix cannot include illegal characters, such as ‘\r’, ‘\n’, +‘\0’ and ‘ ‘. And memaslap has an algorithm to ensure that. + +Memslap doesn’t generate all the objects (key-value pairs) at +the beginning. It only generates enough objects to fill the task window +(default 10K objects) of each concurrency. Each object has the following +basic information, key prefix, key suffix offset in the character table, key +length, value offset in the character table, and value length. + +In the work process, each concurrency sequentially or randomly selects an +object from the window to do set operation or get operation. At the same +time, each concurrency kicks objects out of its window and adds new object +into it. + + +Simple but useful task scheduling +_________________________________ + + +Memslap uses libevent to schedule all the concurrencies of +threads, and each concurrency schedules tasks based on the local task +window. Memslap assumes that if each concurrency keeps the same +key distribution, value distribution and commands distribution, from +outside, memaslap keeps all the distribution as a whole. +Each task window includes a lot of objects, each object stores its basic +information, such as key, value, expire time, and so on. At any time, all +the objects in the window keep the same and fixed key and value +distribution. If an object is overwritten, the value of the object will be +updated. Memslap verifies the data or expire-time according to +the object information stored in the task window. + +Libevent selects which concurrency to handle based on a specific network +event. Then the concurrency selects which command (get or set) to operate +based on the command distribution. If it needs to kick out an old object and +add a new object, in order to keep the same key and value distribution, the +new object must have the same key length and value length. + +If memcached server has two cache layers (memory and SSD), running +memaslap with different window sizes can get different cache +miss rates. If memaslap adds enough objects into the windows at +the beginning, and the cache of memcached cannot store all the objects +initialized, then memaslap will get some objects from the second +cache layer. It causes the first cache layer to miss. So the user can +specify the window size to get the expected miss rate of the first cache +layer. + + +Useful implementation of multi-servers , UDP, TCP, multi-get and binary protocol +________________________________________________________________________________ + + +Because each thread is self-governed, memaslap can assign +different threads to handle different memcached servers. This is just one of +the ways in which memaslap supports multiple servers. The only +limitation is that the number of servers cannot be greater than the number +of threads. The other way to support multiple servers is for replication +test. Each concurrency has one socket connection to each memcached server. +For the implementation, memaslap can set some objects to one +memcached server, and get these objects from the other servers. + +By default, Memslap does single get. If the user specifies +multi-get option, memaslap will collect enough get commands and +pack and send the commands together. + +Memslap supports both the ASCII protocol and binary protocol, +but it runs on the ASCII protocol by default. +Memslap by default runs on the TCP protocol, but it also +supports UDP. Because UDP is unreliable, dropped packages and out-of-order +packages may occur. Memslap creates a memory buffer to handle +these problems. Memslap tries to read all the response data of +one command from the server and reorders the response data. If some packages +get lost, the waiting timeout mechanism can ensure half-baked packages will +be discarded and the next command will be sent. + + + +***** +USAGE +***** + + +Below are some usage samples: + + +memaslap -s 127.0.0.1:11211 -S 5s + + + +memaslap -s 127.0.0.1:11211 -t 2m -v 0.2 -e 0.05 -b + + + +memaslap -s 127.0.0.1:11211 -F config -t 2m -w 40k -S 20s -o 0.2 + + + +memaslap -s 127.0.0.1:11211 -F config -t 2m -T 4 -c 128 -d 20 -P 40k + + + +memaslap -s 127.0.0.1:11211 -F config -t 2m -d 50 -a -n 40 + + + +memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m + + + +memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m -p 2 + + + +The user must specify one server at least to run memaslap. The +rest of the parameters have default values, as shown below: + +Thread number = 1 Concurrency = 16 + +Run time = 600 seconds Configuration file = NULL + +Key size = 64 Value size = 1024 + +Get/set = 9:1 Window size = 10k + +Execute number = 0 Single get = true + +Multi-get = false Number of sockets of each concurrency = 1 + +Reconnect = false Data verification = false + +Expire-time verification = false ASCII protocol = true + +Binary protocol = false Dumping statistic information + +periodically = false + +Overwrite proportion = 0% UDP = false + +TCP = true Limit throughput = false + +Facebook test = false Replication test = false + +Key size, value size and command distribution. +______________________________________________ + + +All the distributions are read from the configuration file specified by user +with “—cfg_cmd” option. If the user does not specify a configuration file, +memaslap will run with the default distribution (key size = 64, +value size = 1024, get/set = 9:1). For information on how to edit the +configuration file, refer to the “Configuration File” section. + +The minimum key size is 16 bytes; the maximum key size is 250 bytes. The +precision of proportion is 0.001. The proportion of distribution will be +rounded to 3 decimal places. + +The minimum value size is 1 bytes; the maximum value size is 1M bytes. The +precision of proportion is 0.001. The proportion of distribution will be +rounded to 3 decimal places. +Currently, memaslap only supports set and get commands. And it +supports 100% set and 100% get. For 100% get, it will preset some objects to +the server. + + +Multi-thread and concurrency +____________________________ + + +The high performance of memaslap benefits from the special +schedule of thread and concurrency. It’s important to specify the proper +number of them. The default number of threads is 1; the default number of +concurrency is 16. The user can use “—threads” and “--concurrency” to +specify these variables. + +If the system supports setting CPU affinity and the number of threads +specified by the user is greater than 1, memaslap will try to +bind each thread to a different CPU core. So if you want to get the best +performance memaslap, it is better to specify the number of +thread equal to the number of CPU cores. The number of threads specified by +the user can also be less or greater than the number of CPU cores. Because +of the limitation of implementation, the number of concurrencies could be +the multiple of the number of threads. + +1. For 8 CPU cores system + +For example: + +--threads=2 --concurrency=128 + +--threads=8 --concurrency=128 + +--threads=8 --concurrency=256 + +--threads=12 --concurrency=144 + +2. For 16 CPU cores system + +For example: + +--threads=8 --concurrency=128 + +--threads=16 --concurrency=256 + +--threads=16 --concurrency=512 + +--threads=24 --concurrency=288 + +The memaslap performs very well, when +used to test the performance of memcached servers. +Most of the time, the bottleneck is the network or +the server. If for some reason the user wants to +limit the performance of memaslap, there +are two ways to do this: + +Decrease the number of threads and concurrencies. +Use the option “--tps” that memaslap +provides to limit the throughput. This option allows +the user to get the expected throughput. For +example, assume that the maximum throughput is 50 +kops/s for a specific configuration, you can specify +the throughput equal to or less than the maximum +throughput using “--tps” option. + + +Window size +___________ + + +Most of the time, the user does not need to specify the window size. The +default window size is 10k. For Schooner Memcached, the user can specify +different window sizes to get different cache miss rates based on the test +case. Memslap supports cache miss rate between 0% and 100%. +If you use this utility to test the performance of Schooner Memcached, you +can specify a proper window size to get the expected cache miss rate. The +formula for calculating window size is as follows: + +Assume that the key size is 128 bytes, and the value size is 2048 bytes, and +concurrency=128. + +1. Small cache cache_size=1M, 100% cache miss (all data get from SSD). +win_size=10k + +2. cache_size=4G + +(1). cache miss rate 0% + +win_size=8k + +(2). cache miss rate 5% + +win_size=11k + +3. cache_size=16G + +(1). cache miss rate 0% + +win_size=32k + +(2). cache miss + +rate 5% + +win_size=46k + +The formula for calculating window size for cache miss rate 0%: + +cache_size / concurrency / (key_size + value_size) \* 0.5 + +The formula for calculating window size for cache miss rate 5%: + +cache_size / concurrency / (key_size + value_size) \* 0.7 + + +Verification +____________ + + +Memslap supports both data verification and expire-time +verification. The user can use "--verify=" or "-v" to specify the proportion +of data verification. In theory, it supports 100% data verification. The +user can use "--exp_verify=" or "-e" to specify the proportion of +expire-time verification. In theory, it supports 100% expire-time +verification. Specify the "--verbose" options to get more detailed error +information. + +For example: --exp_verify=0.01 –verify=0.1 , it means that 1% of the objects +set with expire-time, 10% of the objects gotten will be verified. If the +objects are gotten, memaslap will verify the expire-time and +value. + + +multi-servers and multi-clients +_______________________________ + + +Memslap supports multi-servers based on self-governed thread. +There is a limitation that the number of servers cannot be greater than the +number of threads. Memslap assigns one thread to handle one +server at least. The user can use the "--servers=" or "-s" option to specify +multi-servers. + +For example: + +--servers=10.1.1.1:11211,10.1.1.2:11212,10.1.1.3:11213 --threads=6 --concurrency=36 + +The above command means that there are 6 threads, with each thread having 6 +concurrencies and that threads 0 and 3 handle server 0 (10.1.1.1); threads 1 +and 4 handle server 1 (10.1.1.2); and thread 2 and 5 handle server 2 +(10.1.1.3). + +All the threads and concurrencies in memaslap are self-governed. + +So is memaslap. The user can start up several +memaslap instances. The user can run memaslap on different client +machines to communicate with the same memcached server at the same. It is +recommended that the user start different memaslap on different +machines using the same configuration. + + +Run with execute number mode or time mode +_________________________________________ + + +The default memaslap runs with time mode. The default run time +is 10 minutes. If it times out, memaslap will exit. Do not +specify both execute number mode and time mode at the same time; just +specify one instead. + +For example: + +--time=30s (It means the test will run 30 seconds.) + +--execute_number=100000 (It means that after running 100000 commands, the test will exit.) + + +Dump statistic information periodically. +________________________________________ + + +The user can use "--stat_freq=" or "-S" to specify the frequency. + +For example: + +--stat_freq=20s + +Memslap will dump the statistics of the commands (get and set) at the frequency of every 20 +seconds. + +For more information on the format of dumping statistic information, refer to “Format of Output” section. + + +Multi-get +_________ + + +The user can use "--division=" or "-d" to specify multi-get keys count. +Memslap by default does single get with TCP. Memslap also supports data +verification and expire-time verification for multi-get. + +Memslap supports multi-get with both TCP and UDP. Because of +the different implementation of the ASCII protocol and binary protocol, +there are some differences between the two. For the ASCII protocol, +memaslap sends one “multi-get” to the server once. For the +binary protocol, memaslap sends several single get commands +together as “multi-get” to the server. + + +UDP and TCP +___________ + + +Memslap supports both UDP and TCP. For TCP, +memaslap does not reconnect the memcached server if socket connections are +lost. If all the socket connections are lost or memcached server crashes, +memaslap will exit. If the user specifies the “--reconnect” +option when socket connections are lost, it will reconnect them. + +User can use “--udp” to enable the UDP feature, but UDP comes with some +limitations: + +UDP cannot set data more than 1400 bytes. + +UDP is not supported by the binary protocol because the binary protocol of +memcached does not support that. + +UDP doesn’t support reconnection. + + +Facebook test +_____________ + + +Set data with TCP and multi-get with UDP. Specify the following options: + +"--facebook --division=50" + +If you want to create thousands of TCP connections, specify the + +"--conn_sock=" option. + +For example: --facebook --division=50 --conn_sock=200 + +The above command means that memaslap will do facebook test, +each concurrency has 200 socket TCP connections and one UDP socket. + +Memslap sets objects with the TCP socket, and multi-gets 50 +objects once with the UDP socket. + +If you specify "--division=50", the key size must be less that 25 bytes +because the UDP packet size is 1400 bytes. + + +Replication test +________________ + + +For replication test, the user must specify at least two memcached servers. +The user can use “—rep_write=” option to enable feature. + +For example: + +--servers=10.1.1.1:11211,10.1.1.2:11212 –rep_write=2 + +The above command means that there are 2 replication memcached servers, +memaslap will set objects to both server 0 and server 1, get +objects which are set to server 0 before from server 1, and also get objects +which are set to server 1 before from server 0. If server 0 crashes, +memaslap will only get objects from server 1. If server 0 comes +back to life again, memaslap will reconnect server 0. If both +server 0 and server 1 crash, memaslap will exit. + + +Supports thousands of TCP connections +_____________________________________ + + +Start memaslap with "--conn_sock=" or "-n" to enable this +feature. Make sure that your system can support opening thousands of files +and creating thousands of sockets. However, this feature does not support +reconnection if sockets disconnect. + +For example: + +--threads=8 --concurrency=128 --conn_sock=128 + +The above command means that memaslap starts up 8 threads, each +thread has 16 concurrencies, each concurrency has 128 TCP socket +connections, and the total number of TCP socket connections is 128 \* 128 = +16384. + + +Supports binary protocol +________________________ + + +Start memaslap with "--binary" or "-B" options to enable this +feature. It supports all the above features except UDP, because the latest +memcached 1.3.3 does not implement binary UDP protocol. + +For example: + +--binary + +Since memcached 1.3.3 doesn't implement binary UDP protocol, +memaslap does not support UDP. In addition, memcached 1.3.3 does not support +multi-get. If you specify "--division=50" option, it just sends 50 get +commands together as “mulit-get” to the server. + + + +****************** +Configuration file +****************** + + +This section describes the format of the configuration file. By default +when no configuration file is specified memaslap reads the default +one located at ~/.memaslap.cnf. + +Below is a sample configuration file: + + +.. code-block:: perl + + *************************************************************************** + #comments should start with '#' + #key + #start_len end_len proportion + # + #key length range from start_len to end_len + #start_len must be equal to or greater than 16 + #end_len must be equal to or less than 250 + #start_len must be equal to or greater than end_len + #memaslap will generate keys according to the key range + #proportion: indicates keys generated from one range accounts for the total + generated keys + # + #example1: key range 16~100 accounts for 80% + # key range 101~200 accounts for 10% + # key range 201~250 accounts for 10% + # total should be 1 (0.8+0.1+0.1 = 1) + # + # 16 100 0.8 + # 101 200 0.1 + # 201 249 0.1 + # + #example2: all keys length are 128 bytes + # + # 128 128 1 + key + 128 128 1 + #value + #start_len end_len proportion + # + #value length range from start_len to end_len + #start_len must be equal to or greater than 1 + #end_len must be equal to or less than 1M + #start_len must be equal to or greater than end_len + #memaslap will generate values according to the value range + #proportion: indicates values generated from one range accounts for the + total generated values + # + #example1: value range 1~1000 accounts for 80% + # value range 1001~10000 accounts for 10% + # value range 10001~100000 accounts for 10% + # total should be 1 (0.8+0.1+0.1 = 1) + # + # 1 1000 0.8 + # 1001 10000 0.1 + # 10001 100000 0.1 + # + #example2: all value length are 128 bytes + # + # 128 128 1 + value + 2048 2048 1 + #cmd + #cmd_type cmd_proportion + # + #currently memaslap only supports get and set command. + # + #cmd_type + #set 0 + #get 1 + # + #example: set command accounts for 50% + # get command accounts for 50% + # total should be 1 (0.5+0.5 = 1) + # + # cmd + # 0 0.5 + # 1 0.5 + cmd + 0 0.1 + 1.0 0.9 + + + +**************** +Format of output +**************** + + +At the beginning, memaslap displays some configuration information as follows: + + +servers : 127.0.0.1:11211 + + + +threads count: 1 + + + +concurrency: 16 + + + +run time: 20s + + + +windows size: 10k + + + +set proportion: set_prop=0.10 + + + +get proportion: get_prop=0.90 + + + +Where +_____ + + + +servers : "servers" + + The servers used by memaslap. + + + +threads count + + The number of threads memaslap runs with. + + + +concurrency + + The number of concurrencies memaslap runs with. + + + +run time + + How long to run memaslap. + + + +windows size + + The task window size of each concurrency. + + + +set proportion + + The proportion of set command. + + + +get proportion + + The proportion of get command. + + + +The output of dynamic statistics is something like this: + + +.. code-block:: perl + + --------------------------------------------------------------------------------------------------------------------------------- + Get Statistics + Type Time(s) Ops TPS(ops/s) Net(M/s) Get_miss Min(us) Max(us) + Avg(us) Std_dev Geo_dist + Period 5 345826 69165 65.3 0 27 2198 203 + 95.43 177.29 + Global 20 1257935 62896 71.8 0 26 3791 224 + 117.79 192.60 + + + Set Statistics + Type Time(s) Ops TPS(ops/s) Net(M/s) Get_miss Min(us) Max(us) + Avg(us) Std_dev Geo_dist + Period 5 38425 7685 7.3 0 42 628 240 + 88.05 220.21 + Global 20 139780 6989 8.0 0 37 3790 253 + 117.93 224.83 + + + Total Statistics + Type Time(s) Ops TPS(ops/s) Net(M/s) Get_miss Min(us) Max(us) + Avg(us) Std_dev Geo_dist + Period 5 384252 76850 72.5 0 27 2198 207 + 94.72 181.18 + Global 20 1397720 69886 79.7 0 26 3791 227 + 117.93 195.60 + --------------------------------------------------------------------------------------------------------------------------------- + + + +Where +_____ + + + +Get Statistics + + Statistics information of get command + + + +Set Statistics + + Statistics information of set command + + + +Total Statistics + + Statistics information of both get and set command + + + +Period + + Result within a period + + + +Global + + Accumulated results + + + +Ops + + Total operations + + + +TPS + + Throughput, operations/second + + + +Net + + The rate of network + + + +Get_miss + + How many objects can’t be gotten + + + +Min + + The minimum response time + + + +Max + + The maximum response time + + + +Avg: + + The average response time + + + +Std_dev + + Standard deviation of response time + + + +Geo_dist + + Geometric distribution based on natural exponential function + + + +At the end, memaslap will output something like this: + + +.. code-block:: perl + + --------------------------------------------------------------------------------------------------------------------------------- + Get Statistics (1257956 events) + Min: 26 + Max: 3791 + Avg: 224 + Geo: 192.60 + Std: 116.23 + Log2 Dist: + 4: 0 10 84490 215345 + 8: 484890 459823 12543 824 + 12: 31 + + Set Statistics (139782 events) + Min: 37 + Max: 3790 + Avg: 253 + Geo: 224.84 + Std: 116.83 + Log2 Dist: + 4: 0 0 4200 16988 + 8: 50784 65574 2064 167 + 12: 5 + + Total Statistics (1397738 events) + Min: 26 + Max: 3791 + Avg: 227 + Geo: 195.60 + Std: 116.60 + Log2 Dist: + 4: 0 10 88690 232333 + 8: 535674 525397 14607 991 + 12: 36 + + cmd_get: 1257969 + cmd_set: 139785 + get_misses: 0 + verify_misses: 0 + verify_failed: 0 + expired_get: 0 + unexpired_unget: 0 + written_bytes: 242516030 + read_bytes: 1003702556 + object_bytes: 152086080 + packet_disorder: 0 + packet_drop: 0 + udp_timeout: 0 + + Run time: 20.0s Ops: 1397754 TPS: 69817 Net_rate: 59.4M/s + --------------------------------------------------------------------------------------------------------------------------------- + + + +Where +_____ + + + +Get Statistics + + Get statistics of response time + + + +Set Statistics + + Set statistics of response time + + + +Total Statistics + + Both get and set statistics of response time + + + +Min + + The accumulated and minimum response time + + + +Max + + The accumulated and maximum response time + + + +Avg + + The accumulated and average response time + + + +Std + + Standard deviation of response time + + + +Log2 Dist + + Geometric distribution based on logarithm 2 + + + +cmd_get + + Total get commands done + + + +cmd_set + + Total set commands done + + + +get_misses + + How many objects can’t be gotten from server + + + +verify_misses + + How many objects need to verify but can’t get them + + + +verify_failed + + How many objects with insistent value + + + +expired_get + + How many objects are expired but we get them + + + +unexpired_unget + + How many objects are unexpired but we can’t get them + + + +written_bytes + + Total written bytes + + + +read_bytes + + Total read bytes + + + +object_bytes + + Total object bytes + + + +packet_disorder + + How many UDP packages are disorder + + + +packet_drop + + How many UDP packages are lost + + + +udp_timeout + + How many times UDP time out happen + + + +Run time + + Total run time + + + +Ops + + Total operations + + + +TPS + + Throughput, operations/second + + + +Net_rate + + The average rate of network + + + + + +******* +OPTIONS +******* + + +-s, --servers= + List one or more servers to connect. Servers count must be less than + threads count. e.g.: --servers=localhost:1234,localhost:11211 + +-T, --threads= + Number of threads to startup, better equal to CPU numbers. Default 8. + +-c, --concurrency= + Number of concurrency to simulate with load. Default 128. + +-n, --conn_sock= + Number of TCP socks per concurrency. Default 1. + +-x, --execute_number= + Number of operations(get and set) to execute for the + given test. Default 1000000. + +-t, --time= + How long the test to run, suffix: s-seconds, m-minutes, h-hours, + d-days e.g.: --time=2h. + +-F, --cfg_cmd= + Load the configure file to get command,key and value distribution list. + +-w, --win_size= + Task window size of each concurrency, suffix: K, M e.g.: --win_size=10k. + Default 10k. + +-X, --fixed_size= + Fixed length of value. + +-v, --verify= + The proportion of date verification, e.g.: --verify=0.01 + +-d, --division= + Number of keys to multi-get once. Default 1, means single get. + +-S, --stat_freq= + Frequency of dumping statistic information. suffix: s-seconds, + m-minutes, e.g.: --resp_freq=10s. + +-e, --exp_verify= + The proportion of objects with expire time, e.g.: --exp_verify=0.01. + Default no object with expire time + +-o, --overwrite= + The proportion of objects need overwrite, e.g.: --overwrite=0.01. + Default never overwrite object. + +-R, --reconnect + Reconnect support, when connection is closed it will be reconnected. + +-U, --udp + UDP support, default memaslap uses TCP, TCP port and UDP port of + server must be same. + +-a, --facebook + Whether it enables facebook test feature, set with TCP and multi-get with UDP. + +-B, --binary + Whether it enables binary protocol. Default with ASCII protocol. + +-P, --tps= + Expected throughput, suffix: K, e.g.: --tps=10k. + +-p, --rep_write= + The first nth servers can write data, e.g.: --rep_write=2. + +-b, --verbose + Whether it outputs detailed information when verification fails. + +-h, --help + Display this message and then exit. + +-V, --version + Display the version of the application and then exit. + + +******** +EXAMPLES +******** + + +memaslap -s 127.0.0.1:11211 -S 5s + +memaslap -s 127.0.0.1:11211 -t 2m -v 0.2 -e 0.05 -b + +memaslap -s 127.0.0.1:11211 -F config -t 2m -w 40k -S 20s -o 0.2 + +memaslap -s 127.0.0.1:11211 -F config -t 2m -T 4 -c 128 -d 20 -P 40k + +memaslap -s 127.0.0.1:11211 -F config -t 2m -d 50 -a -n 40 + +memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m + +memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m -p 2 + + +**** +HOME +**** + + +To find out more information please check: +`http://launchpad.org/libmemcached `_ + + +******* +AUTHORS +******* + + +Mingqiang Zhuang (Schooner Technolgy) +Brian Aker, + + +******** +SEE ALSO +******** + + +:manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)` diff --git a/docs/memcached_auto.rst b/docs/memcached_auto.rst index 31ff6178..1f35e4e7 100644 --- a/docs/memcached_auto.rst +++ b/docs/memcached_auto.rst @@ -1,8 +1,6 @@ -.. highlight:: perl - - -memcached_increment, memcached_decrement, memcached_increment_with_initial, memcached_decrement_with_initial -************************************************************************************************************ +========================================================= +Incrementing and Decrementing values stored in the server +========================================================= Manipulate counters @@ -16,9 +14,9 @@ LIBRARY C Client Library for memcached (libmemcached, -lmemcached) -******** +-------- SYNOPSIS -******** +-------- @@ -94,9 +92,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- memcached(1) servers have the ability to increment and decrement keys @@ -162,9 +160,9 @@ AUTHOR Brian Aker, -******** +-------- SEE ALSO -******** +-------- :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)` diff --git a/docs/memcached_behavior.rst b/docs/memcached_behavior.rst index 96e3213d..46b43e7c 100644 --- a/docs/memcached_behavior.rst +++ b/docs/memcached_behavior.rst @@ -1,8 +1,6 @@ -.. highlight:: perl - - -memcached_behavior_get, memcached_behavior_set -********************************************** +================================ +Modifying how the driver behaves +================================ Manipulate behavior @@ -16,9 +14,9 @@ LIBRARY C Client Library for memcached (libmemcached, -lmemcached) -******** +-------- SYNOPSIS -******** +-------- @@ -37,9 +35,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- libmemcached(3) behavior can be modified by use memcached_behavior_set(). @@ -60,14 +58,14 @@ memcached_behavior_set() will flush and reset all connections. MEMCACHED_BEHAVIOR_USE_UDP Causes libmemcached(3) to use the UDP transport when communicating - with a memcached server. Not all I/O operations are supported + with a memcached server. Not all I/O operations are testsed when this behavior is enababled. The following operations will return \ ``MEMCACHED_NOT_SUPPORTED``\ when executed with the MEMCACHED_BEHAVIOR_USE_UDP enabled: memcached_version(), memcached_stat(), memcached_get(), memcached_get_by_key(), memcached_mget(), memcached_mget_by_key(), memcached_fetch(), memcached_fetch_result(), memcached_value_fetch(). - All other operations are supported but are executed in a 'fire-and-forget' + All other operations are testsed but are executed in a 'fire-and-forget' mode, in which once the client has executed the operation, no attempt will be made to ensure the operation has been received and acted on by the server. @@ -114,7 +112,7 @@ MEMCACHED_BEHAVIOR_HASH Makes the default hashing algorithm for keys use MD5. The value can be set to either MEMCACHED_HASH_DEFAULT, MEMCACHED_HASH_MD5, MEMCACHED_HASH_CRC, MEMCACHED_HASH_FNV1_64, MEMCACHED_HASH_FNV1A_64, MEMCACHED_HASH_FNV1_32, MEMCACHED_HASH_FNV1A_32, MEMCACHED_HASH_JENKINS, MEMCACHED_HASH_HSIEH, and MEMCACHED_HASH_MURMUR. Each hash has it's advantages and it's weaknesses. If you don't know or don't care, just go with the default. - Support for MEMCACHED_HASH_HSIEH is a compile time option that is disabled by default. To enable support for this hashing algorithm, configure and build libmemcached with the --enable-hash_hsieh. + 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 --enable-hash_hsieh. @@ -151,7 +149,7 @@ MEMCACHED_BEHAVIOR_KETAMA MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED - Sets the default distribution to MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA with the weighted support. + Sets the default distribution to MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA with the weighted tests. and the hash to MEMCACHED_HASH_MD5. @@ -297,7 +295,7 @@ MEMCACHED_BEHAVIOR_CORK Enable TCP_CORK behavior. This is only available as an option Linux. MEMCACHED_NO_SERVERS is returned if no servers are available to test with. MEMCACHED_NOT_SUPPORTED is returned if we were not able to determine - if support was available. All other responses then MEMCACHED_SUCCESS + if tests was available. All other responses then MEMCACHED_SUCCESS report an error of some sort. This behavior also enables MEMCACHED_BEHAVIOR_TCP_NODELAY when set. @@ -396,9 +394,9 @@ AUTHOR Brian Aker, -******** +-------- SEE ALSO -******** +-------- :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)` diff --git a/docs/memcached_callback.rst b/docs/memcached_callback.rst index ac1760ab..a4b4b3d3 100644 --- a/docs/memcached_callback.rst +++ b/docs/memcached_callback.rst @@ -1,8 +1,6 @@ -.. highlight:: perl - - -memcached_callback_get, memcached_callback_set -********************************************** +================= +Setting callbacks +================= Get and set a callback @@ -16,9 +14,9 @@ LIBRARY C Client Library for memcached (libmemcached, -lmemcached) -******** +-------- SYNOPSIS -******** +-------- @@ -38,9 +36,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- libmemcached(3) can have callbacks set key execution points. These either @@ -164,9 +162,9 @@ AUTHOR Brian Aker, -******** +-------- SEE ALSO -******** +-------- :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)` diff --git a/docs/memcached_create.rst b/docs/memcached_create.rst index ace146cb..36a36bd7 100644 --- a/docs/memcached_create.rst +++ b/docs/memcached_create.rst @@ -1,8 +1,6 @@ -.. highlight:: perl - - -memcached_create, memcached_free, memcached_clone, memcached_servers_reset -************************************************************************** +====================================== +Creating and destroying a memcached_st +====================================== Create a memcached_st structure @@ -16,9 +14,9 @@ LIBRARY C Client Library for memcached (libmemcached, -lmemcached) -******** +-------- SYNOPSIS -******** +-------- @@ -36,9 +34,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- memcached_create() is used to create a \ ``memcached_st``\ structure that will then @@ -93,9 +91,9 @@ AUTHOR Brian Aker, -******** +-------- SEE ALSO -******** +-------- :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)` diff --git a/docs/memcached_delete.rst b/docs/memcached_delete.rst index 440cf22c..56ad9697 100644 --- a/docs/memcached_delete.rst +++ b/docs/memcached_delete.rst @@ -2,7 +2,7 @@ memcached_delete -**************** +---------------- Delete a key @@ -16,9 +16,9 @@ LIBRARY C Client Library for memcached (libmemcached, -lmemcached) -******** +-------- SYNOPSIS -******** +-------- @@ -39,9 +39,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- memcached_delete() is used to delete a particular key. @@ -53,7 +53,7 @@ it won't possible to retrieve it by the "get" command, but "add" and "replace" command with this key will also fail (the "set" command will succeed, however). After the time passes, the item is finally deleted from server memory. -Please note the the Danga memcached server removed support for expiration in +Please note the the Danga memcached server removed tests for expiration in the 1.4 version. @@ -87,8 +87,8 @@ AUTHOR Brian Aker, -******** +-------- SEE ALSO -******** +-------- :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)` diff --git a/docs/memcached_dump.rst b/docs/memcached_dump.rst index 1a28091a..4e33d17a 100644 --- a/docs/memcached_dump.rst +++ b/docs/memcached_dump.rst @@ -2,7 +2,7 @@ memcached_dump -************** +-------------- Get a list of keys found on memcached servers @@ -16,9 +16,9 @@ LIBRARY C Client Library for memcached (libmemcached, -lmemcached) -******** +-------- SYNOPSIS -******** +-------- @@ -39,9 +39,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- memcached_dump() is used to get a list of keys found memcached(1) servers. @@ -49,7 +49,7 @@ Because memcached(1) does not guarentee to dump all keys you can not assume you have fetched all keys from the server. The function takes an array of callbacks that it will use to execute on keys as they are found. -Currently the binar protocol is not supported. +Currently the binar protocol is not testsed. ****** @@ -79,9 +79,9 @@ AUTHOR Brian Aker, -******** +-------- SEE ALSO -******** +-------- :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)` diff --git a/docs/memcached_flush.rst b/docs/memcached_flush.rst index 95911809..27217b34 100644 --- a/docs/memcached_flush.rst +++ b/docs/memcached_flush.rst @@ -2,7 +2,7 @@ memcached_flush -*************** +--------------* Wipe contents of memcached servers @@ -16,9 +16,9 @@ LIBRARY C Client Library for memcached (libmemcached, -lmemcached) -******** +-------- SYNOPSIS -******** +-------- @@ -32,9 +32,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- memcached_flush() is used to wipe clean the contents of memcached(1) servers. @@ -72,8 +72,8 @@ AUTHOR Brian Aker, -******** +-------- SEE ALSO -******** +-------- :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)` diff --git a/docs/memcached_flush_buffers.rst b/docs/memcached_flush_buffers.rst index 2abb0e09..2d8a5b7f 100644 --- a/docs/memcached_flush_buffers.rst +++ b/docs/memcached_flush_buffers.rst @@ -2,7 +2,7 @@ memcached_flush_buffers -*********************** +----------------------* Flush buffers and send buffered commands @@ -16,9 +16,9 @@ LIBRARY C Client Library for memcached (libmemcached, -lmemcached) -******** +-------- SYNOPSIS -******** +-------- @@ -31,9 +31,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- memcached_flush_buffers() is used in conjunction with @@ -68,9 +68,9 @@ AUTHOR Trond Norbye, -******** +-------- SEE ALSO -******** +-------- :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)` diff --git a/docs/memcached_generate_hash_value.rst b/docs/memcached_generate_hash_value.rst index 6eb7cf17..7094f9f1 100644 --- a/docs/memcached_generate_hash_value.rst +++ b/docs/memcached_generate_hash_value.rst @@ -2,7 +2,7 @@ memcached_generate_hash_value -***************************** +---------------------------** Hash a key value @@ -16,9 +16,9 @@ LIBRARY C Client Library for memcached (libmemcached, -lmemcached) -******** +-------- SYNOPSIS -******** +-------- @@ -38,9 +38,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- memcached_generate_hash_value() allows you to hash a key using one of @@ -56,7 +56,7 @@ the hash value that would have been generated based on the defaults of the memcached_st structure. As of version 0.36 all hash methods have been placed into the library -libhashkit(3) which is linked with libmemcached(3). +libmemcached(3) which is linked with libmemcached(3). ****** @@ -86,9 +86,9 @@ AUTHOR Brian Aker, -******** +-------- SEE ALSO -******** +-------- :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)` diff --git a/docs/memcached_get.rst b/docs/memcached_get.rst index 9c90dc68..5f62532c 100644 --- a/docs/memcached_get.rst +++ b/docs/memcached_get.rst @@ -1,8 +1,6 @@ -.. highlight:: perl - - -memcached_get, memcached_mget, memcached_fetch, memcached_mget_execute, memcached_mget_execute_by_key -***************************************************************************************************** +=============================== +Retrieving data from the server +=============================== Get a value @@ -16,9 +14,9 @@ LIBRARY C Client Library for memcached (libmemcached, -lmemcached) -******** +-------- SYNOPSIS -******** +-------- @@ -94,9 +92,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- memcached_get() is used to fetch an individual value from the server. You @@ -163,7 +161,7 @@ as memcached_get() and memcached_mget(). The difference is that they take a master key that is used for determining which server an object was stored if key partitioning was used for storage. -All of the above functions are not supported when the \ ``MEMCACHED_BEHAVIOR_USE_UDP``\ +All of the above functions are not testsed when the \ ``MEMCACHED_BEHAVIOR_USE_UDP``\ has been set. Executing any of these functions with this behavior on will result in \ ``MEMCACHED_NOT_SUPPORTED``\ being returned or, for those functions which do not return a \ ``memcached_return_t``\ , the error function parameter will be set to @@ -201,8 +199,8 @@ AUTHOR Brian Aker, -******** +-------- SEE ALSO -******** +-------- :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)` diff --git a/docs/memcached_memory_allocators.rst b/docs/memcached_memory_allocators.rst index 540565ae..46e03733 100644 --- a/docs/memcached_memory_allocators.rst +++ b/docs/memcached_memory_allocators.rst @@ -1,24 +1,22 @@ -.. highlight:: perl - - -memcached_set_memory_allocators, memcached_get_memory_allocators, memcached_set_memory_allocators_context -********************************************************************************************************* +======================================== +Use custom allocators for embedded usage +======================================== Manage memory allocator functions -******* +------- LIBRARY -******* +------- C Client Library for memcached (libmemcached, -lmemcached) -******** +-------- SYNOPSIS -******** +-------- @@ -26,52 +24,29 @@ SYNOPSIS #include - memcached_return_t - memcached_set_memory_allocators (memcached_st *ptr, - memcached_malloc_fn mem_malloc, - memcached_free_fn mem_free, - memcached_realloc_fn mem_realloc, - memcached_calloc_fn mem_calloc, - void *context); + memcached_return_t memcached_set_memory_allocators (memcached_st *ptr, memcached_malloc_fn mem_malloc, memcached_free_fn mem_free, memcached_realloc_fn mem_realloc, memcached_calloc_fn mem_calloc, void *context); - void - memcached_get_memory_allocators (memcached_st *ptr, - memcached_malloc_fn *mem_malloc, - memcached_free_fn *mem_free, - memcached_realloc_fn *mem_realloc, - memcached_calloc_fn *mem_calloc); + void memcached_get_memory_allocators (memcached_st *ptr, memcached_malloc_fn *mem_malloc, memcached_free_fn *mem_free, memcached_realloc_fn *mem_realloc, memcached_calloc_fn *mem_calloc); - void * - memcached_get_memory_allocators_context(const memcached_st *ptr); + void * memcached_get_memory_allocators_context(const memcached_st *ptr); - void * - (*memcached_malloc_fn) (memcached_st *ptr, const size_t size, - void *context); + void * (*memcached_malloc_fn) (memcached_st *ptr, const size_t size, void *context); - void * - (*memcached_realloc_fn) (memcached_st *ptr, void *mem, - const size_t size, - void *context); + void * (*memcached_realloc_fn) (memcached_st *ptr, void *mem, const size_t size, void *context); - void - (*memcached_free_fn) (memcached_st *ptr, void *mem, - void *context); + void (*memcached_free_fn) (memcached_st *ptr, void *mem, void *context); - void * - (*memcached_calloc_fn) (memcached_st *ptr, - size_t nelem, - const size_t elsize, - void *context); + void * (*memcached_calloc_fn) (memcached_st *ptr, size_t nelem, const size_t elsize, void *context); -*********** +----------- DESCRIPTION -*********** +----------- libmemcached(3) allows you to specify your own memory allocators optimized -for your application. +for your application. This enables libmemcached to be used inside of applications that have their own malloc implementation. memcached_set_memory_allocators() is used to set the memory allocators used by the memcached instance specified by ptr. Please note that you cannot @@ -91,9 +66,9 @@ memcached structure, the is passed as const and you will need to clone it in order to make use of any operation which would modify it. -***** +----- NOTES -***** +----- In version 0.38 all functions were modified to have a context void pointer @@ -101,35 +76,26 @@ passed to them. This was so that customer allocators could have their own space for memory. -****** +------ RETURN -****** +------ memcached_set_memory_allocators() return MEMCACHED_SUCCESS upon success, and MEMCACHED_FAILURE if you don't pass a complete set of function pointers. -**** +---- HOME -**** +---- To find out more information please check: `https://launchpad.net/libmemcached `_ -****** -AUTHOR -****** - - -Trond Norbye, -Brian Aker, - - -******** +-------- SEE ALSO -******** +-------- :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)` diff --git a/docs/memcached_pool.rst b/docs/memcached_pool.rst index bef768df..9f842738 100644 --- a/docs/memcached_pool.rst +++ b/docs/memcached_pool.rst @@ -1,8 +1,6 @@ -.. highlight:: perl - - -memcached_pool_create, memcached_pool_destroy, memcached_pool_push, memcached_pool_pop -************************************************************************************** +============================ +Working with memcached pools +============================ Manage pools @@ -16,9 +14,9 @@ LIBRARY C Client Library for memcached (libmemcachedutil, -lmemcachedutil) -******** +-------- SYNOPSIS -******** +-------- @@ -26,35 +24,25 @@ SYNOPSIS #include - memcached_pool_st * - memcached_pool_create(memcached_st* mmc, int initial, int max); + memcached_pool_st * memcached_pool_create(memcached_st* mmc, int initial, int max); - memcached_st * - memcached_pool_destroy(memcached_pool_st* pool); + memcached_st * memcached_pool_destroy(memcached_pool_st* pool); - memcached_st * - memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc); + memcached_st * memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc); - memcached_return_t - memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc); + memcached_return_t memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc); memcached_st *memcached_create (memcached_st *ptr); - memcached_return_t - memcached_pool_behavior_set(memcached_pool_st *pool, - memcached_behavior_t flag, - uint64_t data) + memcached_return_t memcached_pool_behavior_set(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t data) - memcached_return_t - memcached_pool_behavior_get(memcached_pool_st *pool, - memcached_behavior_t flag, - uint64_t *value) + memcached_return_t memcached_pool_behavior_get(memcached_pool_st *pool, memcached_behavior_t flag, uint64_t *value) -*********** +----------- DESCRIPTION -*********** +----------- memcached_pool_create() is used to create a connection pool of objects you @@ -125,8 +113,8 @@ AUTHOR Trond Norbye, -******** +-------- SEE ALSO -******** +-------- :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)` diff --git a/docs/memcached_quit.rst b/docs/memcached_quit.rst index 99a91fb6..7cdbe05c 100644 --- a/docs/memcached_quit.rst +++ b/docs/memcached_quit.rst @@ -2,7 +2,7 @@ memcached_quit -************** +-------------- Disconnect from all servers @@ -16,9 +16,9 @@ LIBRARY C Client Library for memcached (libmemcached, -lmemcached) -******** +-------- SYNOPSIS -******** +-------- @@ -30,9 +30,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- memcached_quit() will disconnect you from all currently connected servers. @@ -73,8 +73,8 @@ AUTHOR Brian Aker, -******** +-------- SEE ALSO -******** +-------- :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)` diff --git a/docs/memcached_result_st.rst b/docs/memcached_result_st.rst index c96c4605..058b743f 100644 --- a/docs/memcached_result_st.rst +++ b/docs/memcached_result_st.rst @@ -1,8 +1,6 @@ -.. highlight:: perl - - -memcached_result_create, memcached_result_free, memcached_result_key_value, memcached_result_key_length, memcached_result_value, memcached_result_length, memcached_result_flags, memcached_result_cas -****************************************************************************************************************************************************************************************************** +======================== +Working with result sets +======================== Work with memcached_result_st @@ -16,9 +14,9 @@ LIBRARY C Client Library for memcached (libmemcached, -lmemcached) -******** +-------- SYNOPSIS -******** +-------- @@ -54,9 +52,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- libmemcached(3) can optionally return a memcached_result_st which acts as a @@ -93,7 +91,7 @@ current result object. memcached_result_cas() returns the cas associated with the current result object. This value will only be available if the server -supports it. +testss it. memcached_result_set_value() takes a byte array and a size and sets the result to this value. This function is used for trigger responses. @@ -137,8 +135,8 @@ AUTHOR Brian Aker, -******** +-------- SEE ALSO -******** +-------- :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)` diff --git a/docs/memcached_sasl.rst b/docs/memcached_sasl.rst index 155d64df..74a4e919 100644 --- a/docs/memcached_sasl.rst +++ b/docs/memcached_sasl.rst @@ -2,10 +2,10 @@ memcached_set_sasl_callbacks, memcached_get_sasl_callbacks, memcached_sasl_set_auth_data, memcached_destroy_sasl_auth_data -************************************************************************************************************************** +------------------------------------------------------------------------------------------------------------------------** -SASL support +SASL tests ******* @@ -16,9 +16,9 @@ LIBRARY C Client Library for memcached (libmemcached, -lmemcached) -******** +-------- SYNOPSIS -******** +-------- @@ -38,9 +38,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- libmemcached(3) allows you to plug in your own callbacks function used by @@ -88,9 +88,9 @@ AUTHOR Trond Norbye, -******** +-------- SEE ALSO -******** +-------- :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)` diff --git a/docs/memcached_server_st.rst b/docs/memcached_server_st.rst index 9c7a9e31..eff7bf92 100644 --- a/docs/memcached_server_st.rst +++ b/docs/memcached_server_st.rst @@ -14,9 +14,9 @@ LIBRARY C Client Library for memcached (libmemcached, -lmemcached) -******** +-------- SYNOPSIS -******** +-------- @@ -46,9 +46,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- libmemcached(3) operates on a list of hosts which are stored in @@ -106,9 +106,9 @@ AUTHOR Brian Aker, -******** +-------- SEE ALSO -******** +-------- :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)` diff --git a/docs/memcached_servers.rst b/docs/memcached_servers.rst index f2a6d259..2575a78c 100644 --- a/docs/memcached_servers.rst +++ b/docs/memcached_servers.rst @@ -1,8 +1,6 @@ -.. highlight:: perl - - -memcached_server_count, memcached_server_list, memcached_server_add, memcached_server_push, memcached_server_get_last_disconnect, memcached_server_cursor -********************************************************************************************************************************************************* +======================================================== +Manipulate the server information stored in memcached_st +======================================================== Manage server list @@ -16,9 +14,9 @@ LIBRARY C Client Library for memcached (libmemcached, -lmemcached) -******** +-------- SYNOPSIS -******** +-------- @@ -28,44 +26,25 @@ SYNOPSIS uint32_t memcached_server_count (memcached_st *ptr); - memcached_return_t - memcached_server_add (memcached_st *ptr, - const char *hostname, - in_port_t port); - - memcached_return_t - memcached_server_add_udp (memcached_st *ptr, - const char *hostname, - in_port_t port); + memcached_return_t memcached_server_add (memcached_st *ptr, const char *hostname, in_port_t port); - memcached_return_t - memcached_server_add_unix_socket (memcached_st *ptr, - const char *socket); + memcached_return_t memcached_server_add_udp (memcached_st *ptr, const char *hostname, in_port_t port); - memcached_return_t - memcached_server_push (memcached_st *ptr, - const memcached_server_st *list); + memcached_return_t memcached_server_add_unix_socket (memcached_st *ptr, const char *socket); - memcached_server_instance_st - memcached_server_by_key (const memcached_st *ptr, - const char *key, - size_t key_length, - memcached_return_t *error); + memcached_return_t memcached_server_push (memcached_st *ptr, const memcached_server_st *list); + + memcached_server_instance_st memcached_server_by_key (const memcached_st *ptr, const char *key, size_t key_length, memcached_return_t *error); - memcached_server_instance_st - memcached_server_get_last_disconnect (const memcached_st *ptr) + memcached_server_instance_st memcached_server_get_last_disconnect (const memcached_st *ptr) - memcached_return_t - memcached_server_cursor(const memcached_st *ptr, - const memcached_server_fn *callback, - void *context, - uint32_t number_of_callbacks); + memcached_return_t memcached_server_cursor(const memcached_st *ptr, const memcached_server_fn *callback, void *context, uint32_t number_of_callbacks); -*********** +----------- DESCRIPTION -*********** +----------- libmemcached(3) performs operations on a list of hosts. The order of these @@ -135,17 +114,9 @@ To find out more information please check: `https://launchpad.net/libmemcached `_ -****** -AUTHOR -****** - - -Brian Aker, - - -******** +-------- SEE ALSO -******** +-------- :manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)` diff --git a/docs/memcached_set.rst b/docs/memcached_set.rst index 9a5e58ad..099d1559 100644 --- a/docs/memcached_set.rst +++ b/docs/memcached_set.rst @@ -126,7 +126,7 @@ memcached_set(), memcached_add(), and memcached_replace() are all used to store information on the server. All methods take a key, and its length to store the object. Keys are currently limited to 250 characters by the memcached(1) server. You must also supply a value and a length. Optionally you -may support an expiration time for the object and a 16 byte value (it is +may tests an expiration time for the object and a 16 byte value (it is meant to be used as a bitmap). memcached_set() will write an object to the server. If an object already @@ -149,7 +149,7 @@ data stored. Currently expiration and key are not used in the server. memcached_cas() overwrites data in the server as long as the "cas" value is still the same in the server. You can get the cas value of a result by calling memcached_result_cas() on a memcached_result_st(3) structure. At the point -that this note was written cas is still buggy in memached. Turning on support +that this note was written cas is still buggy in memached. Turning on tests for it in libmemcached(3) is optional. Please see memcached_set() for information on how to do this. @@ -162,7 +162,7 @@ objects to particular servers. If you are looking for performance, memcached_set() with non-blocking IO is the fastest way to store data on the server. -All of the above functions are supported with the \ ``MEMCACHED_BEHAVIOR_USE_UDP``\ +All of the above functions are testsed with the \ ``MEMCACHED_BEHAVIOR_USE_UDP``\ behavior enabled. But when using these operations with this behavior on, there are limits to the size of the payload being sent to the server. The reason for these limits is that the Memcahed Server does not allow multi-datagram requests diff --git a/docs/memcached_stats.rst b/docs/memcached_stats.rst index 4a5fbdb5..5fa15442 100644 --- a/docs/memcached_stats.rst +++ b/docs/memcached_stats.rst @@ -14,9 +14,9 @@ LIBRARY C Client Library for memcached (libmemcached, -lmemcached) -******** +-------- SYNOPSIS -******** +-------- @@ -52,9 +52,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- libmemcached(3) has the ability to query a memcached server (or collection @@ -120,9 +120,9 @@ AUTHOR Brian Aker, -******** +-------- SEE ALSO -******** +-------- memcached(1) libmemcached(3) memcached_strerror(3) diff --git a/docs/memcached_strerror.rst b/docs/memcached_strerror.rst index 18e21c60..c852af5b 100644 --- a/docs/memcached_strerror.rst +++ b/docs/memcached_strerror.rst @@ -11,9 +11,9 @@ LIBRARY C Client Library for memcached (libmemcached, -lmemcached) -******** +-------- SYNOPSIS -******** +-------- @@ -27,9 +27,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- memcached_strerror() takes a \ ``memcached_return_t``\ value and returns a string @@ -68,9 +68,9 @@ AUTHOR Brian Aker, -******** +-------- SEE ALSO -******** +-------- memcached(1) libmemcached(3) diff --git a/docs/memcached_user_data.rst b/docs/memcached_user_data.rst index 2032cbd3..9b10af8d 100644 --- a/docs/memcached_user_data.rst +++ b/docs/memcached_user_data.rst @@ -14,9 +14,9 @@ LIBRARY C Client Library for memcached (libmemcached, -lmemcached) -******** +-------- SYNOPSIS -******** +-------- @@ -30,9 +30,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- libmemcached(3) allows you to store a pointer to a user specific data inside @@ -74,9 +74,9 @@ AUTHOR Trond Norbye, -******** +-------- SEE ALSO -******** +-------- memcached(1) libmemcached(3) diff --git a/docs/memcached_verbosity.rst b/docs/memcached_verbosity.rst index 0e751a02..15264aec 100644 --- a/docs/memcached_verbosity.rst +++ b/docs/memcached_verbosity.rst @@ -14,9 +14,9 @@ LIBRARY C Client Library for memcached (libmemcached, -lmemcached) -******** +-------- SYNOPSIS -******** +-------- @@ -30,9 +30,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- memcached_verbosity() modifies the "verbosity" of the @@ -66,9 +66,9 @@ AUTHOR Brian Aker, -******** +-------- SEE ALSO -******** +-------- memcached(1) libmemcached(3) memcached_strerror(3) diff --git a/docs/memcached_version.rst b/docs/memcached_version.rst index f00bef4e..022dbec1 100644 --- a/docs/memcached_version.rst +++ b/docs/memcached_version.rst @@ -14,9 +14,9 @@ LIBRARY C Client Library for memcached (libmemcached, -lmemcached) -******** +-------- SYNOPSIS -******** +-------- @@ -33,9 +33,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- memcached_lib_version() is used to return a simple version string representing @@ -78,9 +78,9 @@ AUTHOR Brian Aker, -******** +-------- SEE ALSO -******** +-------- memcached(1) libmemcached(3) memcached_strerror(3) diff --git a/docs/memcapable.rst b/docs/memcapable.rst index 65dbd209..619adc6a 100644 --- a/docs/memcapable.rst +++ b/docs/memcapable.rst @@ -6,9 +6,9 @@ Checking you Memcached server capibilities and compatibility Check memcached server capabilities -******** +-------- SYNOPSIS -******** +-------- @@ -18,9 +18,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- \ **memcapable**\ connects to the specified memcached server and tries to @@ -33,7 +33,7 @@ OPTIONS ******* -The following options are supported: +The following options are testsed: -h hostname @@ -67,9 +67,9 @@ The following options are supported: -*********** +----------- LIMITATIONS -*********** +----------- The current version of memcapable will only verify the binary protocol. @@ -92,9 +92,9 @@ AUTHOR Trond Norbye, -******** +-------- SEE ALSO -******** +-------- memcached(1) libmemcached(3) diff --git a/docs/memcat.rst b/docs/memcat.rst index 5203b144..96d3422e 100644 --- a/docs/memcat.rst +++ b/docs/memcat.rst @@ -6,9 +6,9 @@ memcat Copy a set of keys to stdout -******** +-------- SYNOPSIS -******** +-------- @@ -18,9 +18,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- \ **memcat**\ outputs to stdout the value a single or multiple set of keys @@ -53,9 +53,9 @@ Brian Aker, Mark Atwood -******** +-------- SEE ALSO -******** +-------- memcached(1) libmemcached(3) diff --git a/docs/memcp.rst b/docs/memcp.rst index 222877be..80305589 100644 --- a/docs/memcp.rst +++ b/docs/memcp.rst @@ -6,9 +6,9 @@ memcp Copies files to a collection of memcached servers -******** +-------- SYNOPSIS -******** +-------- @@ -18,9 +18,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- \ **memcp**\ copies one or more files into memcached(1) servers. @@ -56,9 +56,9 @@ Brian Aker, Mark Atwood, -******** +-------- SEE ALSO -******** +-------- memcached(1) libmemcached(3) diff --git a/docs/memdump.rst b/docs/memdump.rst index 2580b693..be34873c 100644 --- a/docs/memdump.rst +++ b/docs/memdump.rst @@ -6,9 +6,9 @@ memdump Dump a list of keys from a server. -******** +-------- SYNOPSIS -******** +-------- @@ -18,9 +18,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- \ **memdump**\ currently dumps a list of "keys" from all servers that @@ -47,9 +47,9 @@ AUTHOR Brian Aker, -******** +-------- SEE ALSO -******** +-------- memcached(1) libmemcached(3) diff --git a/docs/memerror.rst b/docs/memerror.rst index 9c49ff9e..7e6ca011 100644 --- a/docs/memerror.rst +++ b/docs/memerror.rst @@ -6,9 +6,9 @@ memerror Translate a memcached error code to a string -******** +-------- SYNOPSIS -******** +-------- @@ -18,9 +18,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- \ **memerror**\ translate an error code from libmemcached(3) to a human @@ -46,9 +46,9 @@ AUTHOR Brian Aker, -******** +-------- SEE ALSO -******** +-------- memcached(1) libmemcached(3) diff --git a/docs/memflush.rst b/docs/memflush.rst index e83f6b1f..8f8b0312 100644 --- a/docs/memflush.rst +++ b/docs/memflush.rst @@ -6,9 +6,9 @@ memflush Reset a server or list of servers -******** +-------- SYNOPSIS -******** +-------- @@ -18,9 +18,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- \ **memflush**\ resets the contents of memcached(1) servers. @@ -51,9 +51,9 @@ Brian Aker, Mark Atwood -******** +-------- SEE ALSO -******** +-------- memcached(1) libmemcached(3) diff --git a/docs/memrm.rst b/docs/memrm.rst index 1b2c5314..ac358c29 100644 --- a/docs/memrm.rst +++ b/docs/memrm.rst @@ -6,9 +6,9 @@ memrm memrm - Remove a key(s) from a collection of memcached servers -******** +-------- SYNOPSIS -******** +-------- @@ -18,9 +18,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- \ **memrm**\ removes items, specified by key, from memcached(1) servers. @@ -50,9 +50,9 @@ Brian Aker, Mark Atwood, -******** +-------- SEE ALSO -******** +-------- memcached(1) libmemcached(3) diff --git a/docs/memslap.rst b/docs/memslap.rst index 0f180ea5..62cf2a3a 100644 --- a/docs/memslap.rst +++ b/docs/memslap.rst @@ -6,1252 +6,31 @@ memslap memslap - Load testing and benchmarking tool for memcached -******** +-------- SYNOPSIS -******** +-------- +.. program:: memslap [options] -.. code-block:: perl - memslap [options] - - - -*********** +----------- DESCRIPTION -*********** +----------- \ **memslap**\ is a load generation and benchmark tool for memcached(1) servers. It generates configurable workload such as threads, concurrencies, connections, run time, overwrite, miss rate, key size, value size, get/set proportion, -expected throughput, and so on. Furthermore, it also supports data -verification, expire-time verification, UDP, binary protocol, facebook test, -replication test, multi-get and reconnection, etc. - -Memslap manages network connections like memcached with -libevent. Each thread of memslap is bound with a CPU core, all -the threads don't communicate with each other, and there are several socket -connections in each thread. Each connection keeps key size distribution, -value size distribution, and command distribution by itself. +expected throughput, and so on. You can specify servers via the \ **--servers**\ option or via the environment variable \ ``MEMCACHED_SERVERS``\ . -******** -FEATURES -******** - - -Memslap is developed to for the following purposes: - - -Manages network connections with libevent asynchronously. - - - -Set both TCP and UDP up to use non-blocking IO. - - - -Improves parallelism: higher performance in multi-threads environments. - - - -Improves time efficiency: faster processing speed. - - - -Generates key and value more efficiently; key size distribution and value size distribution are configurable. - - - -Supports get, multi-get, and set commands; command distribution is configurable. - - - -Supports controllable miss rate and overwrite rate. - - - -Supports data and expire-time verification. - - - -Supports dumping statistic information periodically. - - - -Supports thousands of TCP connections. - - - -Supports binary protocol. - - - -Supports facebook test (set with TCP and multi-get with UDP) and replication test. - - - - -******* -DETAILS -******* - - -Effective implementation of network. -==================================== - - -For memslap, both TCP and UDP use non-blocking network IO. All -the network events are managed by libevent as memcached. The network module -of memslap is similar to memcached. Libevent can ensure -memslap can handle network very efficiently. - - -Effective implementation of multi-threads and concurrency -========================================================= - - -Memslap has the similar implementation of multi-threads to -memcached. Memslap creates one or more self-governed threads; -each thread is bound with one CPU core if the system supports setting CPU -core affinity. - -In addition, each thread has a libevent to manage the events of the network; -each thread has one or more self-governed concurrencies; and each -concurrency has one or more socket connections. All the concurrencies don’t -communicate with each other even though they are in the same thread. - -Memslap can create thousands of socket connections, and each -concurrency has tens of socket connections. Each concurrency randomly or -sequentially selects one socket connection from its socket connection pool -to run, so memslap can ensure each concurrency handles one -socket connection at any given time. Users can specify the number of -concurrency and socket connections of each concurrency according to their -expected workload. - - -Effective implementation of generating key and value -==================================================== - - -In order to improve time efficiency and space efficiency, -memslap creates a random characters table with 10M characters. All the -suffixes of keys and values are generated from this random characters table. - -Memslap uses the offset in the character table and the length -of the string to identify a string. It can save much memory. -Each key contains two parts, a prefix and a suffix. The prefix is an -uint64_t, 8 bytes. In order to verify the data set before, -memslap need to ensure each key is unique, so it uses the prefix to identify -a key. The prefix cannot include illegal characters, such as ‘\r’, ‘\n’, -‘\0’ and ‘ ‘. And memslap has an algorithm to ensure that. - -Memslap doesn’t generate all the objects (key-value pairs) at -the beginning. It only generates enough objects to fill the task window -(default 10K objects) of each concurrency. Each object has the following -basic information, key prefix, key suffix offset in the character table, key -length, value offset in the character table, and value length. - -In the work process, each concurrency sequentially or randomly selects an -object from the window to do set operation or get operation. At the same -time, each concurrency kicks objects out of its window and adds new object -into it. - - -Simple but useful task scheduling -================================= - - -Memslap uses libevent to schedule all the concurrencies of -threads, and each concurrency schedules tasks based on the local task -window. Memslap assumes that if each concurrency keeps the same -key distribution, value distribution and commands distribution, from -outside, memslap keeps all the distribution as a whole. -Each task window includes a lot of objects, each object stores its basic -information, such as key, value, expire time, and so on. At any time, all -the objects in the window keep the same and fixed key and value -distribution. If an object is overwritten, the value of the object will be -updated. Memslap verifies the data or expire-time according to -the object information stored in the task window. - -Libevent selects which concurrency to handle based on a specific network -event. Then the concurrency selects which command (get or set) to operate -based on the command distribution. If it needs to kick out an old object and -add a new object, in order to keep the same key and value distribution, the -new object must have the same key length and value length. - -If memcached server has two cache layers (memory and SSD), running -memslap with different window sizes can get different cache -miss rates. If memslap adds enough objects into the windows at -the beginning, and the cache of memcached cannot store all the objects -initialized, then memslap will get some objects from the second -cache layer. It causes the first cache layer to miss. So the user can -specify the window size to get the expected miss rate of the first cache -layer. - - -Useful implementation of multi-servers , UDP, TCP, multi-get and binary protocol -================================================================================ - - -Because each thread is self-governed, memslap can assign -different threads to handle different memcached servers. This is just one of -the ways in which memslap supports multiple servers. The only -limitation is that the number of servers cannot be greater than the number -of threads. The other way to support multiple servers is for replication -test. Each concurrency has one socket connection to each memcached server. -For the implementation, memslap can set some objects to one -memcached server, and get these objects from the other servers. - -By default, Memslap does single get. If the user specifies -multi-get option, memslap will collect enough get commands and -pack and send the commands together. - -Memslap supports both the ASCII protocol and binary protocol, -but it runs on the ASCII protocol by default. -Memslap by default runs on the TCP protocol, but it also -supports UDP. Because UDP is unreliable, dropped packages and out-of-order -packages may occur. Memslap creates a memory buffer to handle -these problems. Memslap tries to read all the response data of -one command from the server and reorders the response data. If some packages -get lost, the waiting timeout mechanism can ensure half-baked packages will -be discarded and the next command will be sent. - - - -***** -USAGE -***** - - -Below are some usage samples: - - -memslap -s 127.0.0.1:11211 -S 5s - - - -memslap -s 127.0.0.1:11211 -t 2m -v 0.2 -e 0.05 -b - - - -memslap -s 127.0.0.1:11211 -F config -t 2m -w 40k -S 20s -o 0.2 - - - -memslap -s 127.0.0.1:11211 -F config -t 2m -T 4 -c 128 -d 20 -P 40k - - - -memslap -s 127.0.0.1:11211 -F config -t 2m -d 50 -a -n 40 - - - -memslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m - - - -memslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m -p 2 - - - -The user must specify one server at least to run memslap. The -rest of the parameters have default values, as shown below: - -Thread number = 1 Concurrency = 16 - -Run time = 600 seconds Configuration file = NULL - -Key size = 64 Value size = 1024 - -Get/set = 9:1 Window size = 10k - -Execute number = 0 Single get = true - -Multi-get = false Number of sockets of each concurrency = 1 - -Reconnect = false Data verification = false - -Expire-time verification = false ASCII protocol = true - -Binary protocol = false Dumping statistic information - -periodically = false - -Overwrite proportion = 0% UDP = false - -TCP = true Limit throughput = false - -Facebook test = false Replication test = false - -Key size, value size and command distribution. -============================================== - - -All the distributions are read from the configuration file specified by user -with “—cfg_cmd” option. If the user does not specify a configuration file, -memslap will run with the default distribution (key size = 64, -value size = 1024, get/set = 9:1). For information on how to edit the -configuration file, refer to the “Configuration File” section. - -The minimum key size is 16 bytes; the maximum key size is 250 bytes. The -precision of proportion is 0.001. The proportion of distribution will be -rounded to 3 decimal places. - -The minimum value size is 1 bytes; the maximum value size is 1M bytes. The -precision of proportion is 0.001. The proportion of distribution will be -rounded to 3 decimal places. -Currently, memslap only supports set and get commands. And it -supports 100% set and 100% get. For 100% get, it will preset some objects to -the server. - - -Multi-thread and concurrency -============================ - - -The high performance of memslap benefits from the special -schedule of thread and concurrency. It’s important to specify the proper -number of them. The default number of threads is 1; the default number of -concurrency is 16. The user can use “—threads” and “--concurrency” to -specify these variables. - -If the system supports setting CPU affinity and the number of threads -specified by the user is greater than 1, memslap will try to -bind each thread to a different CPU core. So if you want to get the best -performance memslap, it is better to specify the number of -thread equal to the number of CPU cores. The number of threads specified by -the user can also be less or greater than the number of CPU cores. Because -of the limitation of implementation, the number of concurrencies could be -the multiple of the number of threads. - -1. For 8 CPU cores system - -For example: - ---threads=2 --concurrency=128 - ---threads=8 --concurrency=128 - ---threads=8 --concurrency=256 - ---threads=12 --concurrency=144 - -2. For 16 CPU cores system - -For example: - ---threads=8 --concurrency=128 - ---threads=16 --concurrency=256 - ---threads=16 --concurrency=512 - ---threads=24 --concurrency=288 - -The memslap performs very well, when -used to test the performance of memcached servers. -Most of the time, the bottleneck is the network or -the server. If for some reason the user wants to -limit the performance of memslap, there -are two ways to do this: - -Decrease the number of threads and concurrencies. -Use the option “--tps” that memslap -provides to limit the throughput. This option allows -the user to get the expected throughput. For -example, assume that the maximum throughput is 50 -kops/s for a specific configuration, you can specify -the throughput equal to or less than the maximum -throughput using “--tps” option. - - -Window size -=========== - - -Most of the time, the user does not need to specify the window size. The -default window size is 10k. For Schooner Memcached, the user can specify -different window sizes to get different cache miss rates based on the test -case. Memslap supports cache miss rate between 0% and 100%. -If you use this utility to test the performance of Schooner Memcached, you -can specify a proper window size to get the expected cache miss rate. The -formula for calculating window size is as follows: - -Assume that the key size is 128 bytes, and the value size is 2048 bytes, and -concurrency=128. - -1. Small cache cache_size=1M, 100% cache miss (all data get from SSD). -win_size=10k - -2. cache_size=4G - -(1). cache miss rate 0% - -win_size=8k - -(2). cache miss rate 5% - -win_size=11k - -3. cache_size=16G - -(1). cache miss rate 0% - -win_size=32k - -(2). cache miss - -rate 5% - -win_size=46k - -The formula for calculating window size for cache miss rate 0%: - -cache_size / concurrency / (key_size + value_size) \* 0.5 - -The formula for calculating window size for cache miss rate 5%: - -cache_size / concurrency / (key_size + value_size) \* 0.7 - - -Verification -============ - - -Memslap supports both data verification and expire-time -verification. The user can use "--verify=" or "-v" to specify the proportion -of data verification. In theory, it supports 100% data verification. The -user can use "--exp_verify=" or "-e" to specify the proportion of -expire-time verification. In theory, it supports 100% expire-time -verification. Specify the "--verbose" options to get more detailed error -information. - -For example: --exp_verify=0.01 –verify=0.1 , it means that 1% of the objects -set with expire-time, 10% of the objects gotten will be verified. If the -objects are gotten, memslap will verify the expire-time and -value. - - -multi-servers and multi-clients -=============================== - - -Memslap supports multi-servers based on self-governed thread. -There is a limitation that the number of servers cannot be greater than the -number of threads. Memslap assigns one thread to handle one -server at least. The user can use the "--servers=" or "-s" option to specify -multi-servers. - -For example: - ---servers=10.1.1.1:11211,10.1.1.2:11212,10.1.1.3:11213 --threads=6 --concurrency=36 - -The above command means that there are 6 threads, with each thread having 6 -concurrencies and that threads 0 and 3 handle server 0 (10.1.1.1); threads 1 -and 4 handle server 1 (10.1.1.2); and thread 2 and 5 handle server 2 -(10.1.1.3). - -All the threads and concurrencies in memslap are self-governed. - -So is memslap. The user can start up several -memslap instances. The user can run memslap on different client -machines to communicate with the same memcached server at the same. It is -recommended that the user start different memslap on different -machines using the same configuration. - - -Run with execute number mode or time mode -========================================= - - -The default memslap runs with time mode. The default run time -is 10 minutes. If it times out, memslap will exit. Do not -specify both execute number mode and time mode at the same time; just -specify one instead. - -For example: - ---time=30s (It means the test will run 30 seconds.) - ---execute_number=100000 (It means that after running 100000 commands, the test will exit.) - - -Dump statistic information periodically. -======================================== - - -The user can use "--stat_freq=" or "-S" to specify the frequency. - -For example: - ---stat_freq=20s - -Memslap will dump the statistics of the commands (get and set) at the frequency of every 20 -seconds. - -For more information on the format of dumping statistic information, refer to “Format of Output” section. - - -Multi-get -========= - - -The user can use "--division=" or "-d" to specify multi-get keys count. -Memslap by default does single get with TCP. Memslap also supports data -verification and expire-time verification for multi-get. - -Memslap supports multi-get with both TCP and UDP. Because of -the different implementation of the ASCII protocol and binary protocol, -there are some differences between the two. For the ASCII protocol, -memslap sends one “multi-get” to the server once. For the -binary protocol, memslap sends several single get commands -together as “multi-get” to the server. - - -UDP and TCP -=========== - - -Memslap supports both UDP and TCP. For TCP, -memslap does not reconnect the memcached server if socket connections are -lost. If all the socket connections are lost or memcached server crashes, -memslap will exit. If the user specifies the “--reconnect” -option when socket connections are lost, it will reconnect them. - -User can use “--udp” to enable the UDP feature, but UDP comes with some -limitations: - -UDP cannot set data more than 1400 bytes. - -UDP is not supported by the binary protocol because the binary protocol of -memcached does not support that. - -UDP doesn’t support reconnection. - - -Facebook test -============= - - -Set data with TCP and multi-get with UDP. Specify the following options: - -"--facebook --division=50" - -If you want to create thousands of TCP connections, specify the - -"--conn_sock=" option. - -For example: --facebook --division=50 --conn_sock=200 - -The above command means that memslap will do facebook test, -each concurrency has 200 socket TCP connections and one UDP socket. - -Memslap sets objects with the TCP socket, and multi-gets 50 -objects once with the UDP socket. - -If you specify "--division=50", the key size must be less that 25 bytes -because the UDP packet size is 1400 bytes. - - -Replication test -================ - - -For replication test, the user must specify at least two memcached servers. -The user can use “—rep_write=” option to enable feature. - -For example: - ---servers=10.1.1.1:11211,10.1.1.2:11212 –rep_write=2 - -The above command means that there are 2 replication memcached servers, -memslap will set objects to both server 0 and server 1, get -objects which are set to server 0 before from server 1, and also get objects -which are set to server 1 before from server 0. If server 0 crashes, -memslap will only get objects from server 1. If server 0 comes -back to life again, memslap will reconnect server 0. If both -server 0 and server 1 crash, memslap will exit. - - -Supports thousands of TCP connections -===================================== - - -Start memslap with "--conn_sock=" or "-n" to enable this -feature. Make sure that your system can support opening thousands of files -and creating thousands of sockets. However, this feature does not support -reconnection if sockets disconnect. - -For example: - ---threads=8 --concurrency=128 --conn_sock=128 - -The above command means that memslap starts up 8 threads, each -thread has 16 concurrencies, each concurrency has 128 TCP socket -connections, and the total number of TCP socket connections is 128 \* 128 = -16384. - - -Supports binary protocol -======================== - - -Start memslap with "--binary" or "-B" options to enable this -feature. It supports all the above features except UDP, because the latest -memcached 1.3.3 does not implement binary UDP protocol. - -For example: - ---binary - -Since memcached 1.3.3 doesn't implement binary UDP protocol, -memslap does not support UDP. In addition, memcached 1.3.3 does not support -multi-get. If you specify "--division=50" option, it just sends 50 get -commands together as “mulit-get” to the server. - - - -****************** -Configuration file -****************** - - -This section describes the format of the configuration file. By default -when no configuration file is specified memslap reads the default -one located at ~/.memslap.cnf. - -Below is a sample configuration file: - - -.. code-block:: perl - - *************************************************************************** - #comments should start with '#' - #key - #start_len end_len proportion - # - #key length range from start_len to end_len - #start_len must be equal to or greater than 16 - #end_len must be equal to or less than 250 - #start_len must be equal to or greater than end_len - #memslap will generate keys according to the key range - #proportion: indicates keys generated from one range accounts for the total - generated keys - # - #example1: key range 16~100 accounts for 80% - # key range 101~200 accounts for 10% - # key range 201~250 accounts for 10% - # total should be 1 (0.8+0.1+0.1 = 1) - # - # 16 100 0.8 - # 101 200 0.1 - # 201 249 0.1 - # - #example2: all keys length are 128 bytes - # - # 128 128 1 - key - 128 128 1 - #value - #start_len end_len proportion - # - #value length range from start_len to end_len - #start_len must be equal to or greater than 1 - #end_len must be equal to or less than 1M - #start_len must be equal to or greater than end_len - #memslap will generate values according to the value range - #proportion: indicates values generated from one range accounts for the - total generated values - # - #example1: value range 1~1000 accounts for 80% - # value range 1001~10000 accounts for 10% - # value range 10001~100000 accounts for 10% - # total should be 1 (0.8+0.1+0.1 = 1) - # - # 1 1000 0.8 - # 1001 10000 0.1 - # 10001 100000 0.1 - # - #example2: all value length are 128 bytes - # - # 128 128 1 - value - 2048 2048 1 - #cmd - #cmd_type cmd_proportion - # - #currently memslap only supports get and set command. - # - #cmd_type - #set 0 - #get 1 - # - #example: set command accounts for 50% - # get command accounts for 50% - # total should be 1 (0.5+0.5 = 1) - # - # cmd - # 0 0.5 - # 1 0.5 - cmd - 0 0.1 - 1.0 0.9 - - - -**************** -Format of output -**************** - - -At the beginning, memslap displays some configuration information as follows: - - -servers : 127.0.0.1:11211 - - - -threads count: 1 - - - -concurrency: 16 - - - -run time: 20s - - - -windows size: 10k - - - -set proportion: set_prop=0.10 - - - -get proportion: get_prop=0.90 - - - -Where -===== - - - -servers : "servers" - - The servers used by memslap. - - - -threads count - - The number of threads memslap runs with. - - - -concurrency - - The number of concurrencies memslap runs with. - - - -run time - - How long to run memslap. - - - -windows size - - The task window size of each concurrency. - - - -set proportion - - The proportion of set command. - - - -get proportion - - The proportion of get command. - - - -The output of dynamic statistics is something like this: - - -.. code-block:: perl - - --------------------------------------------------------------------------------------------------------------------------------- - Get Statistics - Type Time(s) Ops TPS(ops/s) Net(M/s) Get_miss Min(us) Max(us) - Avg(us) Std_dev Geo_dist - Period 5 345826 69165 65.3 0 27 2198 203 - 95.43 177.29 - Global 20 1257935 62896 71.8 0 26 3791 224 - 117.79 192.60 - - - Set Statistics - Type Time(s) Ops TPS(ops/s) Net(M/s) Get_miss Min(us) Max(us) - Avg(us) Std_dev Geo_dist - Period 5 38425 7685 7.3 0 42 628 240 - 88.05 220.21 - Global 20 139780 6989 8.0 0 37 3790 253 - 117.93 224.83 - - - Total Statistics - Type Time(s) Ops TPS(ops/s) Net(M/s) Get_miss Min(us) Max(us) - Avg(us) Std_dev Geo_dist - Period 5 384252 76850 72.5 0 27 2198 207 - 94.72 181.18 - Global 20 1397720 69886 79.7 0 26 3791 227 - 117.93 195.60 - --------------------------------------------------------------------------------------------------------------------------------- - - - -Where -===== - - - -Get Statistics - - Statistics information of get command - - - -Set Statistics - - Statistics information of set command - - - -Total Statistics - - Statistics information of both get and set command - - - -Period - - Result within a period - - - -Global - - Accumulated results - - - -Ops - - Total operations - - - -TPS - - Throughput, operations/second - - - -Net - - The rate of network - - - -Get_miss - - How many objects can’t be gotten - - - -Min - - The minimum response time - - - -Max - - The maximum response time - - - -Avg: - - The average response time - - - -Std_dev - - Standard deviation of response time - - - -Geo_dist - - Geometric distribution based on natural exponential function - - - -At the end, memslap will output something like this: - - -.. code-block:: perl - - --------------------------------------------------------------------------------------------------------------------------------- - Get Statistics (1257956 events) - Min: 26 - Max: 3791 - Avg: 224 - Geo: 192.60 - Std: 116.23 - Log2 Dist: - 4: 0 10 84490 215345 - 8: 484890 459823 12543 824 - 12: 31 - - Set Statistics (139782 events) - Min: 37 - Max: 3790 - Avg: 253 - Geo: 224.84 - Std: 116.83 - Log2 Dist: - 4: 0 0 4200 16988 - 8: 50784 65574 2064 167 - 12: 5 - - Total Statistics (1397738 events) - Min: 26 - Max: 3791 - Avg: 227 - Geo: 195.60 - Std: 116.60 - Log2 Dist: - 4: 0 10 88690 232333 - 8: 535674 525397 14607 991 - 12: 36 - - cmd_get: 1257969 - cmd_set: 139785 - get_misses: 0 - verify_misses: 0 - verify_failed: 0 - expired_get: 0 - unexpired_unget: 0 - written_bytes: 242516030 - read_bytes: 1003702556 - object_bytes: 152086080 - packet_disorder: 0 - packet_drop: 0 - udp_timeout: 0 - - Run time: 20.0s Ops: 1397754 TPS: 69817 Net_rate: 59.4M/s - --------------------------------------------------------------------------------------------------------------------------------- - - - -Where -===== - - - -Get Statistics - - Get statistics of response time - - - -Set Statistics - - Set statistics of response time - - - -Total Statistics - - Both get and set statistics of response time - - - -Min - - The accumulated and minimum response time - - - -Max - - The accumulated and maximum response time - - - -Avg - - The accumulated and average response time - - - -Std - - Standard deviation of response time - - - -Log2 Dist - - Geometric distribution based on logarithm 2 - - - -cmd_get - - Total get commands done - - - -cmd_set - - Total set commands done - - - -get_misses - - How many objects can’t be gotten from server - - - -verify_misses - - How many objects need to verify but can’t get them - - - -verify_failed - - How many objects with insistent value - - - -expired_get - - How many objects are expired but we get them - - - -unexpired_unget - - How many objects are unexpired but we can’t get them - - - -written_bytes - - Total written bytes - - - -read_bytes - - Total read bytes - - - -object_bytes - - Total object bytes - - - -packet_disorder - - How many UDP packages are disorder - - - -packet_drop - - How many UDP packages are lost - - - -udp_timeout - - How many times UDP time out happen - - - -Run time - - Total run time - - - -Ops - - Total operations - - - -TPS - - Throughput, operations/second - - - -Net_rate - - The average rate of network - - - - - -******* -OPTIONS -******* - - --s, --servers= - List one or more servers to connect. Servers count must be less than - threads count. e.g.: --servers=localhost:1234,localhost:11211 - --T, --threads= - Number of threads to startup, better equal to CPU numbers. Default 8. - --c, --concurrency= - Number of concurrency to simulate with load. Default 128. - --n, --conn_sock= - Number of TCP socks per concurrency. Default 1. - --x, --execute_number= - Number of operations(get and set) to execute for the - given test. Default 1000000. - --t, --time= - How long the test to run, suffix: s-seconds, m-minutes, h-hours, - d-days e.g.: --time=2h. - --F, --cfg_cmd= - Load the configure file to get command,key and value distribution list. - --w, --win_size= - Task window size of each concurrency, suffix: K, M e.g.: --win_size=10k. - Default 10k. - --X, --fixed_size= - Fixed length of value. - --v, --verify= - The proportion of date verification, e.g.: --verify=0.01 - --d, --division= - Number of keys to multi-get once. Default 1, means single get. - --S, --stat_freq= - Frequency of dumping statistic information. suffix: s-seconds, - m-minutes, e.g.: --resp_freq=10s. - --e, --exp_verify= - The proportion of objects with expire time, e.g.: --exp_verify=0.01. - Default no object with expire time - --o, --overwrite= - The proportion of objects need overwrite, e.g.: --overwrite=0.01. - Default never overwrite object. - --R, --reconnect - Reconnect support, when connection is closed it will be reconnected. - --U, --udp - UDP support, default memslap uses TCP, TCP port and UDP port of - server must be same. - --a, --facebook - Whether it enables facebook test feature, set with TCP and multi-get with UDP. - --B, --binary - Whether it enables binary protocol. Default with ASCII protocol. - --P, --tps= - Expected throughput, suffix: K, e.g.: --tps=10k. - --p, --rep_write= - The first nth servers can write data, e.g.: --rep_write=2. - --b, --verbose - Whether it outputs detailed information when verification fails. - --h, --help - Display this message and then exit. - --V, --version - Display the version of the application and then exit. - - -******** -EXAMPLES -******** - - -memslap -s 127.0.0.1:11211 -S 5s - -memslap -s 127.0.0.1:11211 -t 2m -v 0.2 -e 0.05 -b - -memslap -s 127.0.0.1:11211 -F config -t 2m -w 40k -S 20s -o 0.2 - -memslap -s 127.0.0.1:11211 -F config -t 2m -T 4 -c 128 -d 20 -P 40k - -memslap -s 127.0.0.1:11211 -F config -t 2m -d 50 -a -n 40 - -memslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m - -memslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m -p 2 - - -**** -HOME -**** - - -To find out more information please check: -`http://launchpad.org/libmemcached `_ - - -******* -AUTHORS -******* - - -Mingqiang Zhuang (Schooner Technolgy) -Brian Aker, - - -******** +-------- SEE ALSO -******** - +-------- -memcached(1) libmemcached(3) +:manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)` diff --git a/docs/memstat.rst b/docs/memstat.rst index b22a47f9..78e369bb 100644 --- a/docs/memstat.rst +++ b/docs/memstat.rst @@ -6,9 +6,9 @@ memstat memstat - Display the operating status of a single or group of memcached servers -******** +-------- SYNOPSIS -******** +-------- @@ -18,9 +18,9 @@ SYNOPSIS -*********** +----------- DESCRIPTION -*********** +----------- \ **memstat**\ dumps the state of memcached(1) servers. @@ -43,9 +43,9 @@ To find out more information please check: `http://launchpad.org/libmemcached `_ -******** +-------- SEE ALSO -******** +-------- memcached(1) libmemcached(3) -- 2.30.2