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

Redis conjunto vs hash

Los hashes de Redis son buenos para almacenar datos más complejos, como sugiere en su pregunta. Los uso exactamente para eso:para almacenar objetos con múltiples atributos que deben almacenarse en caché (específicamente, datos de inventario para un producto en particular en un sitio de comercio electrónico). Claro, podría usar una cadena concatenada, pero eso agrega una complejidad innecesaria a mi código de cliente, y no es posible actualizar un campo individual.

Es posible que tenga razón:los tutoriales pueden ser simplemente de antes de que se introdujeran los hashes. Fueron claramente diseñados para almacenar representaciones de Objetos:http://oldblog.antirez.com/post/redis-weekly-update-1.html

Supongo que una preocupación sería la cantidad de comandos que Redis debe atender cuando se inserta un nuevo elemento (n cantidad de comandos, donde n es la cantidad de campos en el Hash) en comparación con un simple comando String SET. Todavía no he encontrado que esto sea un problema en un servicio que llega a Redis aproximadamente 1 millón de veces por día. Para mí, usar la estructura de datos correcta es más importante que un impacto insignificante en el rendimiento.

(Además, vea mi comentario sobre Redis Sets vs. Redis Strings; creo que su pregunta se refiere a Strings, ¡pero corríjame si me equivoco!)