Red de conocimiento informático - Problemas con los teléfonos móviles - Competencia paralela en redis

Competencia paralela en redis

Antecedentes: por ejemplo, tenemos tres servicios del sistema y, debido a que ciertos datos nunca se han solicitado, se producirá competencia simultanea cuando los tres sistemas soliciten y modifiquen datos al mismo tiempo. Por supuesto, debido a la estructura de subproceso único de redis, aquí no hay problemas de bloqueo ni bloqueo. El problema aquí es que los datos antiguos pueden sobrescribir los datos nuevos.

Solución:

Solo se puede modificar el sistema que obtiene con éxito el bloqueo y se debe llevar el número de versión de los datos. Necesitamos hacer cas y Spin (consulte el código fuente de aotomicinteger para modificar el método de datos (compareAndSwap)) y modificarlo solo cuando se alcance este número de versión.