Ver Mensaje Individual
  #4 (permalink)  
Antiguo 16/04/2008, 09:48
huma
 
Fecha de Ingreso: febrero-2008
Mensajes: 17
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: cargar txt en memoria

Cita:
Iniciado por GatorV Ver Mensaje
Hola huma,

Lo mas eficiente es que uses una base de datos, ya que PHP tiene limites de memoria bajos (generalmente es de 16 MB), y si tratas de cargar 70 MB de datos encontraras que te marca un error.

Si tu tienes acceso root a tu server puedes incrementar esa variable (memory_limit) y usar file_get_contents para pasar el archivo a la memoria.

Ten en cuenta que PHP es un lenguaje que se interpreta por request, así que en cada hit de cada pagina se cargaría ese archivo en memoria, por lo que para 3 usuarios concurrentes estas hablando de 210 MB de RAM.

Saludos.
HEY...

Primero que nada gracias GatorV y emiliodeg por responder tan rápido, estaba dando una vueltita por el foro para ver si podía contribuir con alguna respuesta y al toque ya estaban ustedes, gracias de nuevo.

Ojo no está en mi la intensión de que resuelvan mis problemas, solo con algunas sugerencias me ayudarían mucho.

Les comento rápidamente cual es el ojetivo.

El archivo txt es para un léxico (términos + id's) obtener los id's y después acceder a un índice invertido, realizar diversos procesos y terminar en una búsqueda de texto completo sin tener que usar un índice full-text; porque son muchísimos registros y ya sabemos que con millones de registros sería muy lento.
Por eso se me ocurrió que cada vez que se haga una nueva consulta por cualquier usuario, se acceda al lexico.txt en memoria.
Hacerlo en una db de MySQL, haría que se tuviera que abrir y cerrar la tabla por cada consulta, o ¿hay otra forma?

Por las dudas, aclaro que ya vi herramientas como sphinx y otros pero no me sirven para lo que estoy haciendo.

Nuevamente, gracias de antemano.