2011-04-05 17 views

Respuesta

36

La única diferencia entre esas dos funciones es que apc_add() no sobrescribirá una entrada existente.
apc_store(), por otro lado, sobrescribirá una entrada existente.

Entonces, ¿cuál debe usar, entre apc_add() y apc_store()?
Bueno, todo depende de sus necesidades: ¿desea que se sobrescriba una entrada existente o no?

+0

Un resultado de esta diferencia podría tener implicaciones importantes en entornos concurrentes: bloqueo excesivo, que resulta en latencias o bloqueos extremadamente altos (he agregado otra respuesta relacionada con esto) – etov

1

Realmente depende de la lógica que necesita aplicar, ¿necesita sobrescribir la clave o no? Todo depende de usted .

+0

Bueno .. sobrescribir las variables me recuerda el olor de código. –

+1

Luego hay un error de página en su memoria. – DanMan

1

necesita apc_add() en caso de que desee implementar un contador atómico en un entorno concurrente. ese es el uso principal de la IMO.

1

Además de lo que escribe @Pascal MARTIN, existe una gran diferencia práctica entre ellos.

En un entorno muy concurrente, p. cuando se utiliza una APC para objetos de usuario en apache, el uso de apc_store puede llevar a apc time bomb (¡el enlace es de 2007 pero sigue siendo relevante!), mientras que apc_add mitiga este problema.

Consulte también: https://serverfault.com/questions/342295/apc-keeps-crashing