AussieFreelancer schrieb:
> Hi there, yes i have put in indexes, im pretty sure i have done it
> right, but it doesn't seem to have made any difference, certainly not
> any significant difference... Is it definitely possible to have a
> working auth system for 10,000+ members?
>   
Indices were not enough for me, so I decided to do some caching, and 
wrote an acl-component with caching.

<?php
/*
 * Cached ACL
 *
 * Cakes ACL doesn't cache anything. For better performance, we
 * put results of check into session.
 */
class CachedAclComponent extends DbAcl {


    function initialize(&$controller) {
        $this->master =& $controller;
        App::import('component', 'Session');
        $this->Session = new SessionComponent();
    }


    function check($aro, $aco, $action = "*") {
        $key = str_replace(array('/', '*'),
                           array('.', 'all'),
                           strtolower('CachedAcl.'.$aco.'.'.$action));
        if ($this->Session->check($key)) {
            return $this->Session->read($key);
        } else {
            $result = parent::check($aro, $aco, $action);
            $this->Session->write($key, $result);
            return $result;
        }
    }
}

?>

Bye
Marcus

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to cake-php@googlegroups.com
To unsubscribe from this group, send email to 
cake-php+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to