get( memsess_key( $id ) ); if( ! $data ) return ''; return $data; } /** * @todo document */ function memsess_write( $id, $data ) { global $wgMemc; $wgMemc->set( memsess_key( $id ), $data, 3600 ); return true; } /** * @todo document */ function memsess_destroy( $id ) { global $wgMemc; $wgMemc->delete( memsess_key( $id ) ); return true; } /** * @todo document */ function memsess_gc( $maxlifetime ) { # NOP: Memcached performs garbage collection. return true; } session_set_save_handler( 'memsess_open', 'memsess_close', 'memsess_read', 'memsess_write', 'memsess_destroy', 'memsess_gc' );