Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 163142|Respuesta: 27

[.NET Core] [Combate real] ASP.NET Core está basado en la venta flash de candados distribuidos de Redis

[Copiar enlace]
Publicado en 26/9/2020 15:34:26 | | | |
El bloqueo distribuido basado en zk previamente escrito es el siguiente:

Implementación de bloqueo distribuido de .net/c# Zookeeper [Código fuente]
https://www.itsvse.com/thread-4651-1-1.html
Redis implementa el principio de bloqueo distribuido:

.NET Core implementa análisis de principios de bloqueo distribuido basado en Redis
https://www.itsvse.com/thread-9391-1-1.html
El principio de implementar bloqueos distribuidos en Redis es llamar al comando SETNX de redis, y si la clave ya existe, el comando SETNX no hace nada. El comando devuelve 1 cuando la configuración tiene éxito y 0 cuando falla.


Primero, nuestra web simula 10.000 productos y luego escribe una consola simulando la solicitud HTTP, que tarda 40 segundos en completar la compra, y el renderizado es el siguiente:



Crea un nuevo sitio web ASP.NET Core 3.1, y el paquete de bloqueo redis es el siguiente:

He visto que muchos candados de liberación en Internet están escritos de la siguiente manera:

Sin embargo, parece que puede haber un problema; en el caso de la concurrencia, es posible devolver la verdad en el momento de la sentencia, es efectivamente un bloqueo añadido por sí mismo, pero cuando se elimina el bloqueo, puede estar enEn casos extremos, el bloqueo ha sido obtenido por otro hilo, en caso de que se elimine el bloqueo de otra persona.

Por lo tanto, al conseguir un candado, necesitas abrir un hilo para alargar el tiempo de caducidad del candado.

La interfaz de WeatherForecastController es la siguiente:


Puedes iniciar la web de la API a través de la línea de comandos, que se puede reiniciar fácilmente, de la siguiente manera:



Crea una nueva solicitud HTTP de mockup .NET Core para compra instantánea, el código es el siguiente:


Si hay algún problema, gracias por corregirlo.

Finalmente, adjunta el código fuente:

Turistas, si queréis ver el contenido oculto de esta publicación, por favorRespuesta





Anterior:JS se adapta al gráfico carrusel de tamaño de pantalla
Próximo:Esta explicación detallada de Javascript
 Propietario| Publicado en 9/5/2021 21:12:58 |
Las simulaciones en sitios web tienen10.000 artículos, y luego escribió una consola para simular el tiempo de la solicitud HTTP El agotamiento se completa en 6 segundos


.NET Core implementa bloqueos distribuidos basados en Redis Lua [con código fuente]
https://www.itsvse.com/thread-9642-1-1.html


Publicado en 5/11/2023 11:02:52 |
Mira Console.WriteLine($"Rush Successful: {safeInstanceSuccessfuledCount}, Failed: {safeInstanceFailedCount}, agotado: {safeInstanceDoneCount}");
 Propietario| Publicado en 27/4/2021 11:17:53 |
Hay algunos problemas con el código, y el bloqueo de tareas debería usar await Task.Delay(i);  , no uses sueño
Publicado en 27/9/2020 14:13:33 |
Marca, marca, marca
Publicado en 5/10/2020 11:12:20 |
Mark Mark
Publicado en 2/11/2020 15:39:13 |
dfdsfdsfds
Publicado en 5/11/2020 10:08:13 |
Se necesita código fuente jaja
Publicado en 2/12/2020 15:11:30 |
Gracias por compartirlo.
Publicado en 7/12/2020 21:10:03 |
[Combate real] ASP.NET Core está basado en la venta flash de candados distribuidos de Redis
Publicado en 9/12/2020 17:17:34 |
Mira el efecto real y el código fuente.
Publicado en 20/1/2021 15:17:50 |
Gracias, gracias, gracias, gracias
Publicado en 26/1/2021 16:10:46 |
MARCA MARCA MARCA
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com