sql >> Base de Datos >  >> NoSQL >> Redis

¿Por qué mi secuencia de comandos Redis Lua no puede actualizar atómicamente las claves en diferentes nodos de Redis Cluster?

Me temo que has entendido mal la documentación. (Y estoy de acuerdo en que no está muy claro).

Las operaciones de Redis, ya sean comandos o scripts de Lua, solo pueden funcionar cuando todas las claves están en el mismo servidor. El propósito de la regla de paso de claves es permitir que los servidores de clúster averigüen dónde enviar el script y fallar rápidamente si todas las claves no provienen del mismo servidor (que es lo que sucedió en su caso).

Por lo tanto, es su responsabilidad asegurarse de que todas las claves con las que desea operar estén ubicadas en el mismo servidor. La forma de hacerlo es usar etiquetas hash para forzar claves a hash en la misma ranura. Consulte la documentación para obtener más detalles al respecto.