Mapas de bits: Redis aplicado a las estadísticas del estado de la información
Si solo se almacena un estado (Y / N, 1/0), se puede almacenar en bits binarios, con el número / id (el rango / max es más pequeño y mejor) como la posición
Set value bits setbit bits
Obtener valor posición de bits de bitbit
Operación extendida
Realice la operación OR a nivel de bits, fusión, no exclusiva, en la clave especificada bit a bit, y guarde el resultado en destKey
bitop op destKey key1 [key2 ...]
y: pagar o: y no: no xor: exclusivo o
Cuente el número de 1s en la clave especificada
clave de recuento de bits [inicio final]
Escena de negocios
Sitio web de películas: cuente si una película está a la demanda todos los días; cuente cuántas películas están a la orden todos los días; cuente cuántas películas están a la demanda cada semana / mes / año; cuente qué películas no están a la orden cada año
HyperLogLog: cuente la cantidad de datos únicos que Redis aplica a las estadísticas de información independientes
Estadísticas de cardinalidad, conjunto de cardinalidad (establecido después de la deduplicación)
La cardinalidad es el número de elementos en el conjunto de datos después de la deduplicación.
Operación básica de HyperLogLog
Agregar datos elemento clave pfadd [elemento ...]
Estadísticas clave de cuenta [clave ...]
Fusionar datos pfmerge destkey sourcekey [sourcekey ...]
Descripción: se utiliza para estadísticas de cardinalidad, no una recopilación, no se guardan datos, solo se registra el número en lugar de datos específicos
El núcleo es el algoritmo de estimación de cardinalidad, hay un cierto error en el valor final
Rango de error: el resultado de la estimación de cardinalidad es una aproximación con un error estándar de 0.81%
Consumo de espacio muy pequeño, cada clave de hiperloglog ocupa 12K de memoria para marcar la cardinalidad.
El comando pfadd no es una asignación única de memoria de 12K, la memoria aumentará gradualmente a medida que aumente la cardinalidad.
El espacio de almacenamiento ocupado por el comando pfmerge después de la fusión es de 12K, independientemente de la cantidad de datos antes de la fusión.
GEO Redis se utiliza para registrar información de ubicación geográfica
Gente cerca de WeChat / Momo
Meituan / hambre?
Ctrip / Ma Honeycomb
Gaode / Baidu Siempre que esté relacionado con cosas fuera de línea, relacionadas con la ubicación
Operación básica: clave es el nombre del objeto GEO
Clave de geoadd miembro de latitud de longitud [miembro de latitud de longitud ...]
Obtener el punto clave coord miembro clave [miembro ...]
Calcule la distancia del punto de coordenadas clave geodist miembro1 miembro2 [unidad] -> solo calcule la posición horizontal La unidad predeterminada es m-> unidad
Encuentre los datos en el rango de acuerdo con las coordenadas georadius clave longitud latitud radio
Encuentre los datos dentro del rango de acuerdo con el punto georadius por miembro clave radio del miembro
Obtenga el valor de hash de coordenadas correspondiente al miembro de clave de geohash de punto especificado