Hola, voy a plantear un nuevo problema que me ha surgido a ver como puedo solucionarlo.
Estoy creando una tienda virtual de articulos unicos, es decir, que de cada articulo solo vendo una unidad.
El problema viene cuando alguien va a comprar los articulos, los selecciona y los añade a su carrito de compra, entonces para eso, tengo en la base de datos en la tabla ARTICULOS un campo llamado RESERVADO que se pone a 1 cuando esto sucede, para evitar que sea reservado por otro usuario.
Decir que para comprar y añadir objetos al carrito no hace falta estar registrado, puedes estarlo o no.
Entonces el problema viene en que yo creo que anda mal hecho ya que si se me cae el servidor.... un objeto podria quedar reservado eternamente en la base de datos y no haber sido comprado por nadie.
Que posibles soluciones a este problema podria hacer???
Se me ocurren las siguientes, no se si alguna seria mas aconsejable que la otra....
1- Dejarlo como esta y añadir un campo "TIEMPO_RESERVA" que si excede de por ejempo 60 minutos un objeto reservado, este se libere. (almacenaria la hora en la que fue añadido al carrito, y cada 5 minutos o asi comprobaria si ha pasado el tiempo)
2- Eliminar ese campo reservado de la tabla de la base de datos, y hacer algo que lo marque como reservado en memoria.... (no se si seria posible esto, una especie de matriz con (id_articulo, estado_de_reserva), asi si el servidor se cae, se liberaria la memoria, y la matriz quedaria borrada)
Este segundo caso me parece el mas logico, aunque no se por donde empezar a hacer y si seria posible.
Un saludo y gracias