DBAtlas · Atlas de operaciones de bases de datos

ERR bit offset is not an integer or out of range: Bit offset is not an integer or out of range (el offset de bit no es un entero o está fuera de rango)

Redis

¿Qué significa?

El offset de bit indicado a una operación de bits como SETBIT/GETBIT/BITCOUNT no es válido: no es un entero o está fuera del rango permitido. Redis no puede realizar una operación de bits en ese offset.

¿Por qué ocurre?

Pasar un valor no numérico como offset; usar un offset negativo; o indicar un offset muy grande que supera el límite superior permitido (una cadena de bits puede tener hasta 512 MB, es decir, unos 2^32 bits). Surge de errores de cálculo en estructuras de contadores/indicadores basadas en bitmaps.

Cómo solucionarlo

Asegúrese de que el offset sea un entero no negativo dentro del rango permitido (de 0 a ~2^32-1; las cadenas tienen como máximo 512 MB). Valide los cálculos de offset (p. ej., los derivados de IDs de usuario) frente a desbordamientos/valores negativos. Si se necesitan offsets muy grandes, diseñe los datos para repartirlos entre varias claves (sharding).

Abrir en DBAtlas →

Más entradas de este motor