Redis được sử dụng để lưu dữ liệu nhưng chi phí rất nhiều bộ nhớ và mức sử dụng bộ nhớ của nó lên đến 52.5%. Tôi đã xóa một nửa số khóa bằng chữ đỏ và mã trả lại của thao tác xóa là ok, nhưng việc sử dụng bộ nhớ của nó không giảm.Tại sao việc sử dụng bộ nhớ redis không giảm khi một nửa số phím
Lý do là gì? Cảm ơn trước.
đang hoạt động của tôi là như sau:
// save data
m_pReply = (redisReply *)redisCommand(m_pCntxt, "set %b %b", mykey.data(), mykey.size(), &myval, sizeof(myval));
// del data
m_pReply = (redisReply *)redisCommand(m_pCntxt, "del %b", mykey.data(), mykey.size());
Thông báo thông tin redis:
redis 127.0.0.1:6979> info redis_version:2.4.8 redis_git_sha1:00000000 redis_git_dirty:0 arch_bits:64 multiplexing_api:epoll gcc_version:4.4.6 process_id:28799 uptime_in_seconds:1289592 uptime_in_days:14 lru_clock:127925 used_cpu_sys:148455.30 used_cpu_user:38023.92 used_cpu_sys_children:23187.60 used_cpu_user_children:123989.72 connected_clients:22 connected_slaves:0 client_longest_output_list:0 client_biggest_input_buf:0 blocked_clients:0 used_memory:31903334872 used_memory_human:29.71G used_memory_rss:34414981120 used_memory_peak:34015653264 used_memory_peak_human:31.68G mem_fragmentation_ratio:1.08 mem_allocator:jemalloc-2.2.5 loading:0 aof_enabled:0 changes_since_last_save:177467 bgsave_in_progress:0 last_save_time:1343456339 bgrewriteaof_in_progress:0 total_connections_received:820 total_commands_processed:2412759064 expired_keys:0 evicted_keys:0 keyspace_hits:994257907 keyspace_misses:32760132 pubsub_channels:0 pubsub_patterns:0 latest_fork_usec:11672476 vm_enabled:0 role:slave master_host:192.168.252.103 master_port:6479 master_link_status:up master_last_io_seconds_ago:0 master_sync_in_progress:0 db0:keys=66372158,expires=0
Rất tiếc, bạn phải khởi động lại quá trình redis-server. Xem http://stackoverflow.com/a/5994981/1089294 – underley
Hệ thống hiện đang chạy, tôi không thể khởi động lại. Có lẽ bạn là đúng, redis del key không thực sự miễn phí malloc. – hupantingxue