Hola comunidad, tengo mi sitio web con solamente 5 conexiones recurrentes a la Base de Datos, entonces comencé la Implementación de un Módulo que lo llamé Gandalf. me trabaja de la siguiente forma: para cada Seccion activa tengo una carpeta 'S'+#id_seccion y dentro de esta cada vez que inserto una noticia guardo en un fichero list_news.json un array codificado a json con valores sencillos para referencia rápida como son el id_news,titulo_news... y además de eso guardo la noticia nueva en un fichero llamado 'N'+#id_news entonces en esta mini db o cache como querais decirle, cuando voy a insertar una noticia borro completamente todo el contenido de la seccion activa para luego generrar todo el contenido lo cual es mala optimización por el tiempo si comparamos el otro metodo que sería generar el fichero de index y eliminar la noticia más vieja y insertar la nueva. O otra forma de optimizarlo. Saludos Dairon
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
1 Respuesta
Permiteme que te haga una consulta, por curiosidad ¿Qué te ha hecho descartar el uso del caché de base de datos que implementa CodeIgniter? No lo he utilizado pero según su documentación también puede borrarse la caché filtrando por URI.
Aunque es interesante que te hayas construido tu propia caché seguramente al reinventar la rueda tu implementación tiene más probabilidades de ser menos eficiente (ojo, o no si te has centrado exclusivamente en tu necesidad en lugar de resolver una necesidad global).
Como aporte a tu desarrollo veo algo que me chirría un poco: ¿Puedes evitar el doble acceso a ficheros? Normalmente la escritura/lectura de ficheros en disco no es muy rápida. No veo imprescindible llevar un índice con las noticias cacheadas. Tu implementación:
- Recibir la URI
- Abrir fichero de URIs cacheadas, si existe el registro pasar a 3, si no pasar a 4
- Leer fichero de caché individual y construir página
- Leer BBDD y construir página
Puedes fusionar los pasos 2 y 3 en uno solo (con un solo acceso a disco) si el nombre del fichero de caché individual lo ligas a la URI. Suele hacerse con funciones de hash, como por ejemplo MD5 ya que aunque es un hash poco seguro se calcula muy rápido y en este caso no importa la seguridad. Quedaría:
- Recibir la URI, calcular el hash (ej. 572d4e421e5e6b9bc11d815e8a027112)
- Comprobar si existe el fichero 572d4e421e5e6b9bc11d815e8a027112.json en tu ruta de caché. Si existe, leer y construir página, si no, pasar al punto 3.
- Leer BBDD y construir página (y caché opcionalmente)
Espero que te sea de utilidad.
Por favor, accede o regístrate para añadir un comentario.
Por favor, accede o regístrate para responder a esta pregunta.
En el blog
-
- 676882
- 1
- Jul 5, 2015
Sin Respuesta
-
- 63
- 0
- Oct 18
-
- 156
- 0
- Jul 9
-
- 515
- 1
- Mar 19
-
- 384
- 2
- Feb 26
-
- 4580
- 0
- Nov 7, 2023
-
- 473
- 0
- Sep 19, 2023
-
- 451
- 0
- Ago 21, 2023
-
- 632
- 0
- May 14, 2023
- ver todas
Actividad Reciente
alyvrs preguntó Oct 19
Ayuda , necesito mostrar datos creados solo por el…ManHol preguntó Jul 9
pasar un archivo de excel a csv en pythonArtEze respondió Abr 24
Alguien sabe, no me ignorenArtEze seleccionó una respuesta Abr 24
Bajar extensión de Chrome sin actualizar el navega…ArtEze respondió Abr 24
Bajar extensión de Chrome sin actualizar el navega…ArtEze preguntó Abr 24
Bajar extensión de Chrome sin actualizar el navega…ArtEze respondió Abr 24
No me deja instalar OracleArtEze respondió Abr 24
Formulario que guarde los datos de un jsonArtEze comentó Abr 24
Script /boot/ scrapingSantiago2610 comentó Mar 23
Acualizar ChoiceField en django
Ultimas Preguntas
Usuarios Top
- Leonardo-Tadei
- 227320 Puntos
- Peter
- 150480 Puntos
- white
- 75880 Puntos
- carlossevi
- 63580 Puntos
- magarzon
- 30650 Puntos
- pregunton
- 20400 Puntos