Colección de citas famosas - Libros antiguos - ¿Sobre el problema de almacenar pares clave-valor en la base de datos?

¿Sobre el problema de almacenar pares clave-valor en la base de datos?

Este es un problema entre el front-end (lado de la aplicación) y el back-end (lado del servidor). Esta debe ser una configuración separada por usuario y, por lo tanto, debe colocarse en el frontend en lugar de en el backend. Si lo pones en el backend, todos lo leerán y la experiencia será terrible.

Para la interfaz, solo necesita agregar un "archivo de configuración" (en realidad, un fragmento de código) y luego leer este "archivo de configuración" a través del programa del servidor para conocer el orden correspondiente, que es más rápido que conectarse al servidor para leer. Obtener la tabla correspondiente es más rápido.

Si tenemos que utilizar una base de datos para resolver el problema, supongamos que hay 100 elementos y alguien ha escrito todos los elementos al revés, es decir, se intercambia la posición del elemento 100 con la de elemento 1, y la posición del elemento 99 es con la del elemento 1. Las posiciones de los 2 elementos se intercambian, por lo que las posiciones del elemento 50 y del elemento 51 se intercambian, es decir.

Por supuesto, si debe hacer esto, existe un método un poco más simple, pero esto también requiere la cooperación del front-end. Y es probable que se produzca una expropiación y que los resultados del uso no sean muy buenos.

Mi método es crear una tabla, como el ID de usuario 100010002 10003. Para decirlo sin rodeos, es una tabla, con el orden predeterminado Moduleid (personalmente creo que este puede ser su código de encabezado, si no, no importa) como nombre de campo, y luego cada ID de usuario corresponde a un conjunto de números, por ejemplo (el número predeterminado es 6503).

ID de usuario 10001 10002 10003 10004

1 4 3 1 2

2 2 1 4 3

3 1 2 3 4

p>

De manera similar, puede obtener la secuencia numérica del usuario directamente, pero esto no es tan cómodo como el archivo de configuración del front-end (después de que el usuario modifica el archivo de configuración, el servidor también hará una copia de seguridad (Similar a la tabla anterior, también se puede utilizar como una copia de seguridad del cliente de la configuración final), pero este tipo de copia de seguridad es mucho más fácil que modificar directamente la base de datos, al menos ahorrando recursos de la base de datos), y puede haber problemas de expropiación, como como dos o más personas modificando el código al mismo tiempo. Entonces es imposible que tanta gente actualice una tabla al mismo tiempo, inevitablemente ocurrirá la expropiación, por lo que la experiencia del servicio no será muy buena (la copia de seguridad no es tan oportuna, por lo que la expropiación es poco probable, incluso si ocurre, sucederá en el back-end y no afectará la experiencia del usuario).

Todo lo anterior son entendimientos personales y deben discutirse juntos.