gpt4 book ai didi

Redis 键随机消失

转载 作者:可可西里 更新时间:2023-11-01 11:15:14 26 4
gpt4 key购买 nike

我有一个 Redis 问题,它只出现在生产环境中,我无法在本地重现它。

我有 11 台服务器将数据发送到 Redis,每台服务器都会递增 HashMap 的成员(每个服务器都有自己的 HashMap )。

散列映射随机消失,我看到所有计数再次从 0 开始。

注意:

  • key 未过期:任何 key 均未设置过期时间和 ttl;
  • keys are not evicted:maxmemory 未设置并且maxmemory-policyno-eviction
  • Redis 永远不会出现内存问题,因为它位于具有 15GB 可用 RAM 的服务器上,而且它永远不会崩溃;
  • INFO 报告 13 个连接的客户端,这很有意义:11 个服务器 + 1 个我在本地的监控应用程序 + 用于获取 INFO 命令输出的连接。

我不知道该去哪里找了。

这是 INFO 命令的输出:

# Server
redis_version:3.2.6
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:5a93b34a97c2cde8
redis_mode:standalone
os:Linux 4.9.0-6-amd64 x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:6.3.0
process_id:1394
run_id:ff6063b446dab8248fe9db118d2993a9de4252c8
tcp_port:6379
uptime_in_seconds:186923
uptime_in_days:2
hz:10
lru_clock:2982223
executable:/usr/bin/redis-server
config_file:/etc/redis/redis.conf

# Clients
connected_clients:13
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0

# Memory
used_memory:1067336
used_memory_human:1.02M
used_memory_rss:3784704
used_memory_rss_human:3.61M
used_memory_peak:1471928
used_memory_peak_human:1.40M
total_system_memory:27401003008
total_system_memory_human:25.52G
used_memory_lua:37888
used_memory_lua_human:37.00K
maxmemory:0
maxmemory_human:0B
maxmemory_policy:noeviction
mem_fragmentation_ratio:3.55
mem_allocator:jemalloc-3.6.0

# Persistence
loading:0
rdb_changes_since_last_save:13854793
rdb_bgsave_in_progress:0
rdb_last_save_time:1529530575
rdb_last_bgsave_status:err
rdb_last_bgsave_time_sec:0
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
aof_last_write_status:ok

# Stats
total_connections_received:185
total_commands_processed:19637940
instantaneous_ops_per_sec:121
total_net_input_bytes:752885632
total_net_output_bytes:1197081334
instantaneous_input_kbps:4.61
instantaneous_output_kbps:9.27
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:0
evicted_keys:0
keyspace_hits:1333722
keyspace_misses:120814
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:185
migrate_cached_sockets:0

# Replication
role:master
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

# CPU
used_cpu_sys:262.40
used_cpu_user:207.39
used_cpu_sys_children:0.00
used_cpu_user_children:0.00

# Cluster
cluster_enabled:0

# Keyspace
db0:keys=14,expires=0,avg_ttl=0

最佳答案

Redis 服务器很可能正在重新启动并且您正在丢失数据,因为 Redis 无法保存到磁盘。

Rdb 上次保存状态为错误,因此从未创建数据。此外,aof 被禁用。如果 redis 重新启动,它将以清除所有数据的方式启动。

检查您的日志 - 很可能 Redis 没有写入磁盘的权限。此外,我相信您会看到表明 redis 正在重启的条目。

关于Redis 键随机消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50996587/

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