[bcn-pm] Storable y "weak references"

Xavier Noria fxn at hashref.com
Thu Jul 8 17:54:30 CDT 2004


On Jul 8, 2004, at 18:38, Jose L. Hernandez wrote:

> Hola a todos,
>  
> Me llamo Jose L., y aunque llevo algun tiempo en la lista, todavia no 
> habia escrito ningun mail.
> Mi problema es el siguiente:
>  
> Estoy usando Apache::Session::MySQL para almacenar la sesiones web de 
> los usuarios en la base de datos.
> En estas sesiones, se guarda bastante información, con una estructura 
> de datos compleja. Para evitar referencias circulares,
> estoy usando Scalar::Util::weaken sobre aquellas referencias a objetos 
> que me pueden crear estos circulos, y asi consigo que se
> destruyan los objetos correctamente y evitar leaks de memoria.
> El problema es que esto solo funciona cuando se genera una sesión 
> nueva. Al recuperar los datos almacenados en la sesión, todas las 
> referencias debiles se han convertido en fuertes, con lo que la 
> estructura de datos está llena de referencias circulares.
>  
> He estado buscando diferentes modulos para serializar estructuras de 
> datos, pero no he encontrado ninguno que tenga en cuenta las 
> referencias debiles (Data::Dumper, Storable, FreezeThaw, etc...)
>  
> Alguien se ha encontrado con este problema? Conoceis algun modulo para 
> serializar estructuras de datos que recuperen correctamente las 
> referencias debiles?
> Estoy llegando a la conclusión que tendré que implementar mi propio 
> modulo para serializar datos, y no me gusta nada... ;-)

Me parece que la cosa esta un poco chunga. En este mensaje de Rafael 
Garcia-Suarez (que quiza conozcas, es uno de los fuertes en 
perl5-porters) no se dan muchas esperanzas:

     http://tinyurl.com/34cwc

He visto que Acme::Util tiene un clone() que soporta referencias 
debiles, pero nada de persistencia.

No es que este mail sea de ninguna ayuda :-), lo envio mas que nada 
para confirmar un poco que no se ve que este solucionado.

-- fxn




More information about the Barcelona-pm mailing list