Foros del Web » Programando para Internet » PHP » CodeIgniter »

Cachear contenido

Estas en el tema de Cachear contenido en el foro de CodeIgniter en Foros del Web. Hola Amigos, Estoy realizando una aplicación la cual funciona de la siguiente manera. Cuando el usuario admin se loguea hago una llamada a la base ...
  #1 (permalink)  
Antiguo 10/08/2012, 14:47
 
Fecha de Ingreso: julio-2012
Mensajes: 25
Antigüedad: 12 años, 4 meses
Puntos: 3
Cachear contenido

Hola Amigos,

Estoy realizando una aplicación la cual funciona de la siguiente manera.
Cuando el usuario admin se loguea hago una llamada a la base de datos solicitando el listado de usuarios que están bajo su administración.

Tengo que hacer estas mismas llamadas a la base de datos en otra parte de la aplicación.

Se me ha ocurrido en vez de solicitar los datos una y otra vez , crear una especie de buffer que me almacene temporalmente estos datos para tenerlo disponible durante la sesión.

He pensé hacerlo con la sesiones pero no termino de pillar el asunto.
Código PHP:
Ver original
  1. class Cache_model extends CI_Model
  2. {
  3.     public function llenarBuffer()
  4.     {
  5.         $cacheData = $this->db->where('userId', 12834)->get('table_usuario');
  6.         $dump = array();
  7.         foreach ($cacheData->result() as $row) {
  8.             $dump[$row->id] = array(
  9.                 $row->Nombre,
  10.                 $row->Apellido,
  11.                 $row->Telefono,
  12.                 $row->Email
  13.                 );  
  14.         }
  15.         $this->session->set_userdata($dump);
  16.     }
  17. }
Luego si intento hacer una llamada de este modo
Código PHP:
Ver original
  1. $dataUser = $this->session->userdata(283);
  2. var_dump($dataUser); // No obtengo los datos

Esto en otro ambiente debería funcionar pero la forma como CI maneja el asunto de la sesiones no me permite hacerlo como lo tengo pensado.
Alguna sugerencia de como hacerlo usando este método o cualquier otro mas.

Gracias de antemano.

Saludos!
  #2 (permalink)  
Antiguo 13/08/2012, 14:03
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 10 meses
Puntos: 177
Respuesta: Cachear contenido

$this->session->set_userdata('cachedata',$cacheData);

ahí tenes todos los datos en la variable de session llamada cachedata
ahora podés acceder desde donde quieras asi:

var_dump($this->session->userdata('cachedata'));
__________________
la la la

Etiquetas: class, contenido
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:50.