ERR bit offset is not an integer or out of range: Bit offset is not an integer or out of range (o offset de bit não é um inteiro ou está fora do intervalo)
RedisO que significa?
O offset de bit informado a uma operação de bits como SETBIT/GETBIT/BITCOUNT é inválido: não é um inteiro ou está fora do intervalo permitido. O Redis não consegue executar uma operação de bits nesse offset.
Por que acontece?
Passar um valor não numérico como offset; usar um offset negativo; ou informar um offset muito grande que excede o limite superior permitido (uma string de bits pode ter até 512 MB, ou seja, cerca de 2^32 bits). Surge de erros de cálculo em estruturas de contadores/flags baseadas em bitmap.
Como resolver
Garanta que o offset seja um inteiro não negativo dentro do intervalo permitido (0 a ~2^32-1; strings têm no máximo 512 MB). Valide os cálculos de offset (por exemplo, os derivados de IDs de usuário) contra overflow/valores negativos. Se forem necessários offsets muito grandes, projete os dados para serem divididos em várias chaves (sharding).
Mais entradas deste banco
- ERR SELECT is not allowed in cluster modeSELECT is not allowed in cluster mode
- ERR wrong number of arguments for commandWrong number of arguments for command
- ERR Background save already in progressBackground save already in progress
- ERR Protocol error: invalid multibulk lengthProtocol error: invalid multibulk length (erro de protocolo: comprimento multibulk inválido)
- ERR Number of keys can't be greater than number of argsEVAL/EVALSHA: numkeys exceeds argument count (numkeys excede o número de argumentos)
- ERR WATCH inside MULTI is not allowedWATCH inside MULTI is not allowed
- ERR WAIT cannot be used with replica instancesWAIT cannot be used with replica instances (WAIT não pode ser usado em instâncias réplica)