labs - redis vs mongodb
¿Cómo depurar el error "comando OOM no permitido cuando se usa la memoria> ''maxmemory''" en Redis? (5)
¿Alguna posibilidad de que haya cambiado el número de bases de datos? Si usa un número muy grande, entonces el uso de memoria inicial puede ser alto
Cuando intento configurar una clave, maxmemory
"OOM comando no permitido", maxmemory
se establece en 500M con maxmemory-policy
"volatile-lru", estoy configurando TTL para cada clave enviada a redis.
INFO
comando INFO
devuelve: used_memory_human:809.22M
- Si maxmemory se establece en 500M, ¿cómo llegué a 809M?
-
INFO
comandoINFO
no muestra espacios en clave, ¿cómo es posible? -
KEYS *
devuelve "(lista vacía o conjunto)", he intentado cambiar el número de db, aún no se han encontrado claves.
Aquí está la salida del comando info:
redis-cli -p 6380
redis 127.0.0.1:6380> info
# Server
redis_version:2.6.4
redis_git_sha1:00000000
redis_git_dirty:0
redis_mode:standalone
os:Linux 2.6.32-358.14.1.el6.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.4.7
process_id:28291
run_id:229a2ee688bdbf677eaed24620102e7060725350
tcp_port:6380
uptime_in_seconds:1492488
uptime_in_days:17
lru_clock:1429357
# Clients
connected_clients:1
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
# Memory
used_memory:848529904
used_memory_human:809.22M
used_memory_rss:863551488
used_memory_peak:848529192
used_memory_peak_human:809.22M
used_memory_lua:31744
mem_fragmentation_ratio:1.02
mem_allocator:jemalloc-3.0.0
# Persistence
loading:0
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0
rdb_last_save_time:1375949883
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:-1
rdb_current_bgsave_time_sec:-1
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
# Stats
total_connections_received:3
total_commands_processed:8
instantaneous_ops_per_sec:0
rejected_connections:0
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0
# Replication
role:master
connected_slaves:0
# CPU
used_cpu_sys:18577.25
used_cpu_user:1376055.38
used_cpu_sys_children:0.00
used_cpu_user_children:0.00
# Keyspace
redis 127.0.0.1:6380>
En nuestro caso, maxmemory se estableció en una cantidad alta, luego alguien en el equipo la cambió a una cantidad menor una vez que los datos ya se habían almacenado.
La memoria se controla en la config. Por lo tanto, su instancia limitada como dice. Puede buscar en su redis.conf o en el problema de la herramienta CLI "config get maxmemory" para obtener el límite.
Si administra esta instancia de Redis, deberá consultar y ajustar el archivo de configuración. Generalmente se busca en /etc/redis.conf o /etc/redis/redis.conf.
Si está utilizando un proveedor de Redis, deberá ponerse en contacto con ellos para aumentar su límite.
La política maxmemory volatile-lru de Redis puede fallar al liberar suficiente memoria si las claves no volátiles ya utilizan el límite maxmemory.
Para tal problema, considere aumentar su memoria máxima en el archivo redis.conf. Me ayudó.
como maxmemory era 21000000 para mí y luego lo cambié a 31000000. Espero que ayude.