lemonldap-ng/modules/apache-session-memorycached
2008-02-15 10:50:55 +00:00
..
lib/Apache/Session correct bug in local/general cache management 2008-02-15 10:50:55 +00:00
scripts initial import : implementes replication and soap service 2007-02-27 10:34:07 +00:00
t initial import : implementes replication and soap service 2007-02-27 10:34:07 +00:00
Changes initial import : implementes replication and soap service 2007-02-27 10:34:07 +00:00
Makefile.PL initial import : implementes replication and soap service 2007-02-27 10:34:07 +00:00
MANIFEST initial import : implementes replication and soap service 2007-02-27 10:34:07 +00:00
META.yml initial import : implementes replication and soap service 2007-02-27 10:34:07 +00:00
README initial import : implementes replication and soap service 2007-02-27 10:34:07 +00:00

NAME
    Apache::Session::Memorycached - An implementation of Apache::Session

SYNOPSIS
     use Apache::Session::Memorycached;
 
        tie %session, 'Apache::Session::Memorycached', $cookie, {
              'servers' => ["10.75.1.19:11211"], #all write operations
              'local'  =>  ["localhost:11211"],  #read-only operations
              'timeout' => '300'
         };

     tie %s, 'Apache::Session::Memorycached', undef,
        {servers  => ['mymemcachedserver:port'],
         'timeout' => '300',
         'updateOnly' => 1 ,
         'principal' => uid,  
            };

    In order to optimize the network ,you can use a local memcached server.
    All read-only opération are sending fisrt at local server .If you need
    write ou rewrite data , the data is sending at the principal memcached
    sever and local cache too for synchronisation.

    note : 'updateOnly' => 1 just realize up-date operation not init
    operation. Init operation is use in order to book and lock the number
    session but it's not available in this module

      'principal' => uid :  this  parameter is use to create reverse reference 
      like this : MD5_hex(uid) => id_session in memcached server . By this it usefull to retrieve id_session from principal name . And add uid_MD5 => MD5_hex(uid) in main session .
 
DESCRIPTION
    This module is an implementation of Apache::Session. It uses the
    memcached system backing store . You may specify servers (principal) and
    locals caches for locking in arguments to the constructor. See the
    example, and the documentation for Apache::Session::Store::Memorycached
    and Cache::Memcached .

REPLICATION
     Now Apache::Session::Memorycahed inclues replication between memecached servers 
     Two new components provide a replication service . 
     First package is Apache::Session::MemcachedReplicator
     Second is Apache::Session::MemcachedClient 

     It's now possible to do replication master to slave or master to master
     see man pages and scripts .

SOAP service
     Now Apache::Session::Memorycached inclues a SOAP service in order to set or 
     get %session in any language . The SOAP service translates data in Perl hashes
 
  Installation of SOAP service
     All scripts are in scripts directory

     Put MemcachedSOAPClass.pm and MemcachedSOAP.cgi in the cgi-bin directory of your apache server with the appropriate right (x) . 
     Change in MemcachedSOAP.cgi the memcached server address .
      (line 11 : $machine = 'ip.ip.ip.ip:11211';  )
  
     Try the three scripts  statTest.pl (first !)  then getTest.pl finish with setTest.pl. 
 
    The lemonldap project (SSO under GPL) uses this module

AUTHOR
    This module was written by eric german <germanlinux@yahoo.fr>.

     Completed by  Habib ZITOUNI <zitouni.habib@gmail.com> and 
    Hamza AISSAT<asthamza@hotmail.fr>
 
     SOAP service is a contribution of  Casimir ANTUNES .

SEE ALSO
    Apache::Session::DB_File, Apache::Session::Flex,
    Apache::Session::MemcachedClient,Apache::Session::MemcachedReplicator,
    Apache::Session::MySQL, Apache::Session::Postgres, Apache::Session