Me gustaría crear un conjunto de objetos persistentes que carguen su estado desde la base de datos y luego se mantengan en la memoria para que las cargas de páginas de WordPress/PHP se usen como objetos de memoria en caché. Me imagino una interfaz para que estos objetos incluyan:
- initialise(): carga el estado de la base de datos y realiza cualquier otra función de inicialización necesaria antes de atender las solicitudes
- getter_foo() – una serie de métodos getter para que el código PHP solicite respuestas almacenadas en la memoria caché
- getter_bar() – una serie de métodos getter para que el código PHP solicite respuestas almacenadas en la memoria caché
- update () – llamado por procesos controlados por tiempo o eventos que le piden al objeto que regrese a la base de datos y actualice su estado
Los dos trucos que sospecho son:
- Haga que el proceso principal de PHP asigne y mantenga la referencia de memoria para estos objetos para que permanezcan anclados a la memoria a través de transacciones/solicitudes web sin necesidad de reinicializar cada vez en la base de datos.
- Tener un mecanismo para permitir que los procesos transaccionales obtengan un puntero a estos objetos.
¿Hay ejemplos de soluciones que hagan esto? He estado programando durante años, pero soy muy nuevo tanto en WordPress como en PHP, así que tal vez esto sea bastante sencillo. No estoy seguro. En cualquier caso, reconozco que soluciones técnicas como redis y memcached podría lograr objetivos similares pero de una manera menos elegante y no contextual. Dicho esto, si no hay una manera fácil de hacerlo, estoy feliz de usar la regla 80/20. :^)
¿Has mirado en serializar? php.net/manual/en/function.serialize.php generalmente es una buena manera de mantener el estado del objeto entre solicitudes
– Mahn
14 mayo 2012 en 12:43