복붙노트

[REDIS] 왜 레디 스 메모리 사용량은 감소하지 않을 때 키 델 절반

REDIS

왜 레디 스 메모리 사용량은 감소하지 않을 때 키 델 절반

레디 스 데이터를 저장하는 데 사용됩니다하지만 메모리를 많이 비용, 및 52.5 %까지 메모리 사용. 나는 레디 스에있는 키의 절반을 삭제하고, 삭제 작업의 리턴 코드는 확인하지만, 메모리 사용량이 감소하지 않습니다.

이유가 뭐야? 미리 감사드립니다.

내 작업 코드는 다음과 같습니다 :

// 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());

레디 스 정보 :

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

해결법

  1. ==============================

    1.다음 링크를 메모리 할당 섹션을 참조하십시오 :

    다음 링크를 메모리 할당 섹션을 참조하십시오 :

    http://redis.io/topics/memory-optimization

    난 여기가 인용 :

  2. ==============================

    2.레디 스 4.0.0 이후 이에 대한 명령이있다 :

    레디 스 4.0.0 이후 이에 대한 명령이있다 :

    MEMORY PURGE
    

    트릭을 수행해야합니다 https://redis.io/commands/memory-purge

    그러나 그 명령 문서 상태를 참고 :

    그리고 README 우리를 것을 생각 나게한다 :

  3. from https://stackoverflow.com/questions/11698911/why-does-the-redis-memory-usage-not-reduce-when-del-half-of-keys by cc-by-sa and MIT license