4 This file gets included if $wgSessionsInMemcache is set in the config.
5 It redirects session handling functions to store their data in memcached
6 instead of the local filesystem. Depending on circumstances, it may also
7 be necessary to change the cookie settings to work across hostnames.
9 See: http://www.php.net/manual/en/function.session-set-save-handler.php
13 function memsess_key( $id ) {
15 return "$wgDBname:session:$id";
18 function memsess_open( $save_path, $session_name ) {
19 # NOP, $wgMemc should be set up already
23 function memsess_close() {
28 function memsess_read( $id ) {
30 $data = $wgMemc->get( memsess_key( $id ) );
31 if( $data === FALSE ) return "";
35 function memsess_write( $id, $data ) {
37 $wgMemc->set( memsess_key( $id ), $data, 3600 );
41 function memsess_destroy( $id ) {
43 $wgMemc->delete( memsess_key( $id ) );
47 function memsess_gc( $maxlifetime ) {
48 # NOP: Memcached performs garbage collection.
52 session_set_save_handler( "memsess_open", "memsess_close", "memsess_read", "memsess_write", "memsess_destroy", "memsess_gc" );