2012-05-01 20 views
7

Observando este ejemplo http://redis.io/topics/twitter-clone donde los registros de usuario se almacenan usando una clave hash ("uid: 1000") y "tweets" se almacenan mediante una clave hash ("post: 60"), ¿significa que todos esos registros están almacenados? en la misma estructura de datos y la adición de tweets afectará el tiempo para recuperar registros de usuario?En Redis, ¿hay todas las claves almacenadas en la misma "tabla"? y si es así, ¿cómo afecta el rendimiento?

+0

redis es una tienda de valores de clave avanzada. por lo tanto, no almacena datos como un rdbms en "tablas". en su lugar, almacena cada clave bajo un número/entrada dada con los datos que contiene. – Hajo

+0

exactamente y es por eso que hay puntos y comas que rodean la tabla en el título. – user971956

Respuesta

11

Sí, los usuarios y los tweets se almacenan en la misma estructura de datos. Esa estructura de datos es hash table.

Internamente, Redis no tiene ningún concepto de tipos de registros. En lo que respecta a Redis, User:1000 y Post:60 son solo una secuencia de bytes. Entonces sí, Redis almacena todos los registros en la misma estructura de datos.

Dado que Redis no diferencia entre Tweets y Usuarios, los tiempos de respuesta para ambos tipos de registros serán similares.

Entonces, todo se reduce a la pregunta: "¿El rendimiento de Redis es igual al número de registros?"

La respuesta a eso es SÍ, lo hace. Siempre que tenga la memoria para guardar todos sus datos, el rendimiento de Redis no debería depender de la cantidad de registros.

Cuestiones relacionadas