Table of Contents
List of Tables
List of Examples
This module is an implementation of a cache system designed to work with a memcached server. It uses libmemcached client library to connect to several memcached servers that store data. It uses the Key-Value interface exported from the core.
memory costs are no longer on the server
many servers may be used so the memory is virtually unlimited
the cache is persistent so a restart of the server will not affect the cache
memcached is an open-source project so it can be used to exchange data with various other applications
servers may be grouped together (e.g. for security purposes : some can be inside a private network, some can be in a public one)
The following libraries or applications must be installed before running OpenSIPS with this module loaded:
libmemcached can be downloaded from: http://tangent.org/552/libmemcached.html. Download the archive, extract sources, run ./configure, make,sudo make install.
The urls of the server groups that OpenSIPS will connect to in order to use the from script cache_store,cache_fetch, etc operations. It can be set more than one time. The prefix part of the URL will be the identifier that will be used from the script.
... modparam("cachedb_memcached", "cachedb_url","memcached:group1://localhost:9999,127.0.0.1/"); modparam("cachedb_memcached", "cachedb_url","memcached:y://random_url:8888/"); ...
Example†1.2.†Use memcached servers
... cache_store("memcached:group1","key","$ru value"); cache_fetch("memcached:y","key",$avp(10)); cache_remove("memcached:group1","key"); ...
The maximum number of microseconds that a local cache query can last. Anything above the threshold will trigger a warning message to the log
Default value is “0 ( unlimited - no warnings )”.
... modparam("cachedb_memcached", "exec_threshold", 100000) ...
Table†2.1.†Top contributors by DevScore(1), authored commits(2) and lines added/removed(3)
(1) DevScore = author_commits + author_lines_added / (project_lines_added / project_commits) + author_lines_deleted / (project_lines_deleted / project_commits)
(2) including any documentation-related commits, excluding merge commits. Regarding imported patches/code, we do our best to count the work on behalf of the proper owner, as per the "fix_authors" and "mod_renames" arrays in opensips/doc/build-contrib.sh. If you identify any patches/commits which do not get properly attributed to you, please submit a pull request which extends "fix_authors" and/or "mod_renames".
(3) ignoring whitespace edits, renamed files and auto-generated files
Table†2.2.†Most recently active contributors(1) to this module
(1) including any documentation-related commits, excluding merge commits
Copyright © 2009 Andrei Dragus
Copyright © 2009 Voice Sistem SRL