gpt4 book ai didi

Redis - 为什么 redis-server 内存减少?

转载 作者:IT王子 更新时间:2023-10-29 06:07:52 24 4
gpt4 key购买 nike

我在 Windows 上运行 Redis,并注意到 redis-server.exe 的大小会随着时间的推移而减小。当我打开 Redis 时,它从转储文件中读取并将所有散列键值加载到内存中,大约 1.4 GB。但是,随着时间的推移,redis-server.exe 占用的内存量会减少。我看到它下降到不到 100 MB

我能看到这种情况发生的唯一原因是 key 即将过期并占用内存,但我已将 Redis 设置为它们永不过期。我也确保我有足够的内存。

我的一些设置包括:

maxmemory 2gb

maxmemory-policy noeviction

hash-max-zipmap-entries 512

hash-max-zipmap-value 64

activerehashing no

如果感兴趣的话,当我第一次将 key 加载到 Redis 时,我是通过 Python 像这样完成的:

r.hset(key, field, value)

如有任何帮助,我们将不胜感激。我希望 key 永远在那里。

这是我第一次运行 INFO 命令后的输出:

redis 127.0.0.1:6379> INFO
redis_version:2.4.6
redis_git_sha1:26cdd13a
redis_git_dirty:0
arch_bits:64
multiplexing_api:winsock2
gcc_version:4.6.1
process_id:9092
uptime_in_seconds:69
uptime_in_days:0
lru_clock:248011
used_cpu_sys:3.34
used_cpu_user:10.06
used_cpu_sys_children:0.00
used_cpu_user_children:0.00
connected_clients:1
connected_slaves:0
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
used_memory:1129560232
used_memory_human:1.05G
used_memory_rss:1129560232
used_memory_peak:1129560144
used_memory_peak_human:1.05G
mem_fragmentation_ratio:1.00
mem_allocator:libc
loading:0
aof_enabled:0
changes_since_last_save:0
bgsave_in_progress:0
last_save_time:1386600366
bgrewriteaof_in_progress:0
total_connections_received:1
total_commands_processed:0
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0
vm_enabled:0
role:master
db0:keys=4007989,expires=0

当我运行它后,发现 Windows 任务管理器中的内存减少了,没有太多区别:

uptime_in_seconds:4412 (from 69)
lru_clock:248445 (from 248011)
used_cpu_sys:4.59 (from 3.34)
used_cpu_user:10.25 (from 10.06)
used_memory:1129561240 (from 1129560232)
used_memory_human:1.05G (same!)
used_memory_rss:1129561240 (from 1129560232)
used_memory_peak:1129568960 (from 1129560144)
used_memory_peak_human:1.05G (same!)
mem_fragmentation_ratio:1.00 (same!)
last_save_time:1386600366 (same!)
total_connections_received:4 (from 1)
total_commands_processed:10 (from 0)
expired_keys:0 (same!)
evicted_keys:0 (same!)
keyspace_hits:0 (same!)
keyspace_misses:2 (from 0)

当内存较小时,查找会花费更长的时间。这是怎么回事?

最佳答案

  • 您使用的是什么版本的 Redis?
  • 你有某种删除 key 的 cron 吗? (在您的代码库上对 del 命令执行 grep 以确保万无一失)

关于Redis - 为什么 redis-server 内存减少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20447503/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com