ldap_cache
LDAP_CACHE(3) LDAP_CACHE(3)
NAME
ldap_enable_cache, ldap_disable_cache, ldap_destroy_cache,
ldap_flush_cache, ldap_uncache_entry, ldap_uncache_request,
ldap_set_cache_options - LDAP client caching routines
SYNOPSIS
#include <ldap.h>
ldap_enable_cache( ld, timeout, maxmem )
LDAP *ld;
long timeout;
long maxmem;
void ldap_disable_cache( ld )
LDAP *ld;
void ldap_destroy_cache( ld )
LDAP *ld;
void ldap_flush_cache( ld )
LDAP *ld;
void ldap_uncache_entry( ld, dn )
LDAP *ld;
char *dn;
void ldap_uncache_request( ld, msgid )
LDAP *ld;
int msgid;
void ldap_set_cache_options( ld, opts )
LDAP *ld;
unsigned long opts;
DESCRIPTION
These routines are used to control the behavior of the experimental
client caching of ldap_search(3) and ldap_compare(3) operations. By
default, the cache is disabled and no caching is done. Enabling the
cache can greatly improve performance and reduce network bandwidth when
a client DUA makes repeated requests.
ldap_enable_cache() should be called to turn on local caching or to
change cache parameters (lifetime of cached requests and memory used).
The ld parameter should be the result of a successful call to
ldap_open(3). The timeout is specified in seconds, and is used to
decide how long to keep cached requests. The maxmem value is in bytes,
and is used to set an upper bound on how memory the cache will use.
You can specify 0 for maxmem to restrict the cache size by the timeout
only. The first call to ldap_enable_cache creates the cache; subse-
quent calls re-enable the cache and set the timeout and memory values.
ldap_disable_cache() temporarily disables use of the cache (new
requests are not cached and the cache is not checked when returning
results). It does not delete the cache contents.
ldap_destroy_cache() turns off caching and completely removes the cache
from memory.
ldap_flush_cache() deletes the cache contents, but does not effect it
in any other way.
ldap_uncache_entry() removes all requests that make reference to the
distinguished name dn from the cache. It should be used, for example,
after doing an ldap_modify(3) call involving dn.
ldap_uncache_request() removes the request indicated by the LDAP
request id msgid from the cache.
ldap_set_cache_options() is used to change caching behavior. The cur-
rent supported options are LDAP_CACHE_OPT_CACHENOERRS to suppress
caching of any requests that result in an error, and
LDAP_CACHE_OPT_CACHEALLERRS to enable caching of all requests. The
default behavior is to not cache requests that result in errors, except
that request that result in the error LDAP_SIZELIMIT_EXCEEDED are
cached.
ERRORS
ldap_enable_cache() returns 0 upon success, and -1 if it is unable to
allocate space for the cache. All the other calls are declared as void
and return nothing.
SEE ALSO
ldap(3), ldap_search(3), ldap_compare(3)
ACKNOWLEDGEMENTS
OpenLDAP is developed and maintained by The OpenLDAP Project
(http://www.openldap.org/). OpenLDAP is derived from University of
Michigan LDAP 3.3 Release.
OpenLDAP 2.0.27-Release 22 September 1998 LDAP_CACHE(3)