Modifique la puntuación de redis zset a una configuración de 64 bits y admita el algoritmo de identificación del copo de nieve.
/baidu/uid-generator
/p/77737855
Sin embargo, cuando guardamos este ID de 64 bits en el zset de redis, nos enfrentamos al problema de desbordamiento de la puntuación del zset, porque la puntuación es de tipo doble de 64 bits (float64). Algunos desarrolladores también han propuesto una solución a este problema. Consulte:/developer/article/1525534 para obtener más detalles.
La similitud entre sus soluciones es cambiar el ID del copo de nieve a 52 bits para evitar el desbordamiento (la precisión entera de float64 es 52 bits), pero esto conducirá inevitablemente a un rango más pequeño de ID. Por ejemplo, su negocio es guardar mensajes durante 15 días. Esta modificación no es una implementación que satisfaga escenarios comerciales complejos. El código fuente del servidor redis se modificó intermitentemente en 20 y 21. El tipo de puntuación se cambió de float64 a int64. Las interfaces de cliente de PHP redis y Goridis también se modificaron simultáneamente. Debido a que se utiliza en el negocio emergente de la empresa, el código fuente no se puede divulgar sin el consentimiento de la empresa y no es difícil modificarlo.