entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Mostrar información cargada en la RAM con PHP

Hola Comunidad, tengo una duda yo tengo una pagina web corriendo en un servidor como es logico ;); mi duda es que yo saco los datos de una tabla Publicar + join de otras tablas pero al final todo lo guardo en el modelo Controlador de mi web en varios objetos del php, mi pregunta es si es posible que cada usuario que entre en la pagina en vez de hacer una petición a mi pagina web como es de publicar noticias esta solamente muestre las noticias ya cargada en la RAM del servidor que se encuentren en el PHP esto para los que entren a la portada de mi sitio web(ya los que vallan a travez de link directo normal con su consulta) y entonces cada cierto tiempo decirle a mi codigo php que haga una peticion a mi servidor de base de datos a ver si hay una actualizacion en sus tablas de noticias para actualizar los datos en la RAM.
Saludos Atentamente D

0voto

Peter comentado

Le cambié el título y etiqueté la pregunta. Por favor evita poner "Ayuda" de título, mejor algo que indique cual es la pregunta.

Saludos.

1 Respuesta

2votos

Leonardo-Tadei Puntos226650

Hola Dairon,

Hay varias formas de atacar este problema, ya que PHP no tiene funciones de acceso directo a memoria.

Una es delegar esta tarea en una caché. En varias y acá hay una lista http://en.wikipedia.org/wiki/List_of_PHP_accelerators La caché "oficial" de PHP actualmente es APC.

Otra es craer tablas MySQL de almacenamiento en RAM y pasar ahí los datos más usados: requiere mantener estos datos refrescados cada cierto tiempo, pero luego las consultas son muy rápidas. No sirve de almacenamiento permanente porque un reinicio implica perder todos esos datos. http://dev.mysql.com/doc/refman/5.0/es/memory-storage-engine.html

No decís de que manera se almacenan los Objetos PHP (merece un capítulo aparte eso de que "lo guardo en el modelo Controlador", pero si los guardás en una DB las estrategias anteriores se aplican acá también. Si no los guardás en ua DB, tal vez reconsires esto si probás nuestro ORM que hace persistencia no invasiva y por alcance. Para Objetos "pojo" no tiene latencias respecto a ejecutar querys: https://github.com/PegasusTech/Persistent

De forma más artesanal, podés jugar con la caché de MySQL par que algunas querys queden en RAM: http://php.net//manual/es/mysqlnd-qc.quickstart.caching.php

El último mecanismo es de infraestructura, y consiste en poner un Varnish haciendo de proxy de un Apache que usa PHP y MySQL. El Varnish cachea las peticiones y además sirve datos estáticos (CSS, imágenes) de forma mucho más eficiente, pero al ser una solución de infraestructura, queda fuera de los que no tengan uno o varios servidores dedicados para implementarlo.

Saludos!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta