Cache de RBAC
¿Que es el cache en RBAC?
El cache es una forma de poder reducir el número de consultas a la base de datos, debido a que cada vez que dentro del sistema se ejecuta un método "Yii::$app->user->can()" el modulo ejecuta una consulta al servidor de base de datos, si se multiplica el número de veces que utilizamos dicha consulta, por ejemplo en un menú dinámico que muestra opciones de acuerdo al rol del usuarios, esto hace que el número de peticiones al servidor de bases de datos se incremente considerablemente, esto en sistmas productivos podria traer beneficios en velocidad y en la nube puede reducir considerablemente los costos.
¿Cómo se implementa el cache en RBAC?
Se puede mantener un caché del RBAC agregando el siguiente código en el archivo "config/web.php" de la plantilla básica.
Con este código se evita estar haciendo consultas al servidor cada vez que se ejecuta una petición para consultar los permisos del servidor.
Nota importánte:
Cada vez que exista algún cambio en los permisos se debe de actualizar el caché, es decir cuando se agregan nuevos roles o permisos en el rbac.
El siguiente comando refresca el cache del RBAC, en las ocaciones que aparentemente no actualiza nuestros permisos.
Referencias:
https://www.yiiframework.com/doc/api/2.0/yii-console-controllers-cachecontroller
Comentarios
Publicar un comentario