LINUX
2018.09.28 / 17:47

Redis ¼­¹ö ¼³Á¤À» À§Çؼ­ ÀÛ¼ºÇÏ´Â redis.conf ´ëÇÑ Á¤¸®(½ºÅ©·¦)

GAScripter
Ãßõ ¼ö 120

Redis ¼­¹ö ¼³Á¤À» À§Çؼ­ ÀÛ¼ºÇÏ´Â redis.conf ÆÄÀÏ¿¡ ´ëÇؼ­ Á¤¸®ÇÑ´Ù.
¿À¿ª ¹× À߸øµÈ ³»¿ëÀÌ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. Âü°í ¿ë·Îµµ¸¸ »ç¿ëÇØ ÁÖ¼¼¿ä.
´ë»ó ÆÄÀÏ: https://raw.github.com/antirez/redis/2.4.15/redis.conf

¿ä¾à

±âº»¼³Á¤

  1. daemonize (daemonÀ¸·Î ½ÇÇà ¿©ºÎ ¼³Á¤)
  2. pidfile (daemon ½ÇÇà½Ã pid°¡ ÀúÀåµÉ ÆÄÀÏ °æ·Î)
  3. port (Á¢±ÙÀ» Çã¿ëÇÒ port ¼³Á¤)
  4. bind (¿äûÀ» ´ë±âÇÒ interface[·£Ä«µå] ¼³Á¤)
  5. unixsocket, unixsocketperm (¿äûÀ» ´ë±âÇÒ unix ¼ÒÄÏ ¼³Á¤)
  6. timeout (client¿Í connectionÀ» ²úÀ» idle ½Ã°£ ¼³Á¤)
  7. loglevel (loglevel ¼³Á¤)
  8. logfile (log ÆÄÀÏ °æ·Î ¼³Á¤)
  9. syslog-enabled (system logger »ç¿ë ¿©ºÎ ¼³Á¤)
  10. syslog-ident (syslog¿¡¼­ÀÇ identity ¼³Á¤)
  11. syslog-facility (syslog facility ¼³Á¤)
  12. databases (database ¼ö ¼³Á¤)

REPLICATION

  1. slaveof (master server ¼³Á¤)
  2. masterauth (master server Á¢±Ù ºñ¹Ð¹øÈ£ ¼³Á¤)
  3. slave-server-stale-data (master¿Í connectionÀÌ ²÷±ä °æ¿ì Çൿ ¼³Á¤)
  4. repl-ping-slave-perid (¹Ì¸® Á¤ÀÇµÈ ¼­¹ö·Î PINGÀ» ³¯¸± Áֱ⠼³Á¤)
  5. repl-timeout (reply timeout ¼³Á¤)

SECURITY

  1. requirepass (server Á¢±Ù ºñ¹Ð¹øÈ£ ¼³Á¤)
  2. rename-command (command À̸§ º¯°æ)

LIMITS

  1. maxclients (ÃÖ´ë client Çã¿ë ¼ö ¼³Á¤)
  2. maxmemory (ÃÖ´ë »ç¿ë°¡´É ¸Þ¸ð¸® Å©±â ¼³Á¤)
  3. maxmemory-policy (maxmemory µµ´Þ ½Ã Çൿ ¼³Á¤)
  4. maxmemory-samples (LRU ¶Ç´Â mnimal TTL ¾Ë°í¸®Áò »ùÇà ¼ö ¼³Á¤)

APPEND ONLY MODE

  1. appendonly (AOF »ç¿ë¿©ºÎ ¼³Á¤)
  2. appendfilename (AOF ÆÄÀÏ¸í ¼³Á¤)
  3. appendsync (fsync() È£Ãâ ¸ðµå ¼³Á¤)
  4. no-appendfsync-on-rewrite (background saving ÀÛ¾÷½Ã fsync() È£Ãâ ¿©ºÎ ¼³Á¤)
  5. auto-aof-rewrite-percentage, auto-aof-rewrite-min-size (AOF file rewrite ±âÁØ ¼³Á¤)

SLOW LOG

  1. slowlog-log-slower-than (slow execution ±âÁØ ¼³Á¤)
  2. slowlog-max-len (ÃÖ´ë ÀúÀå slow log ¼ö ¼³Á¤)

VIRTUAL MEMORY

  1. vm-enabled (vm ¸ðµå »ç¿ë¿©ºÎ ¼³Á¤)

ADVANCED CONFIG

  1. hash-max-zipmap-entries, hash-max-zipmap-value (hash encode »ç¿ë ±âÁØ ¼³Á¤)
  2. list-max-ziplist-entries, list-max-ziplist-value (list encode »ç¿ë ±âÁØ ¼³Á¤)
  3. set-max-intset-entries (set encode »ç¿ë ±âÁØ ¼³Á¤)
  4. zset-max-ziplist-entries, zset-max-ziplist-value (sorted set encode »ç¿ë ±âÁØ ¼³Á¤)
  5. activerehashing (ÀÚµ¿ rehashing »ç¿ë ¿©ºÎ ¼³Á¤)

±âº»¼³Á¤

daemonize [boolean] (±âº»°ª: no)

Redis´Â ±âº»ÀûÀ¸·Î daemonÀ¸·Î ½ÇÇàÇÏÁö ¾Ê´Â´Ù. ¸¸¾à DaemonÀ¸·Î ½ÇÇàÇÏ°í ½Í´Ù¸é 'yes'¸¦ »ç¿ëÇضó.
Redis´Â daemonÀ¸·Î ½ÇÇàµÉ ¶§ '/var/run/redis.pid' ÆÄÀÏ¿¡ pid¸¦ ±â·ÏÇÒ °ÍÀÌ´Ù.

¿¹) daemonize no

pidfile [file path] (±âº»°ª: /var/run/redis.pid)

daemonÀ¸·Î ½ÇÇà ½Ã pid°¡ ±â·ÏµÉ ÆÄÀÏ À§Ä¡¸¦ ¼³Á¤ÇÑ´Ù. °ªÀÌ ¼³Á¤µÇÁö ¾ÊÀ¸¸é '/var/run/redis.pid'¿¡ pid¸¦ ±â·ÏÇÑ´Ù.

¿¹) pidfile /ver/run/redis.pid

port [number] (±âº»°ª: 6379)

ConnectionÀ» Çã¿ëÇÒ Port¸¦ ÁöÁ¤ÇÑ´Ù. ±âº»°ªÀº 6379ÀÌ´Ù.
¸¸¾à port °ªÀ» 0À¸·Î ÁöÁ¤Çϸé, Redis´Â ¾î¶² TCP socket¿¡ ´ëÇؼ­µµ listenÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.

¿¹) port 6379

bind [ip] (±âº»°ª: ¸ðµç ÀÎÅÍÆäÀ̽º)

Redis¸¦ bind ÇÒ Æ¯Á¤ interface(·£Ä«µå)¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ¸¸¾à ¸í½ÃÇÏÁö ¾ÊÀ¸¸é, ¸ðµç interface·ÎºÎÅÍ µé¾î¿À´Â ¿äûµéÀ» listenÇÒ °ÍÀÌ´Ù.

¿¹) bind 127.0.0.1

unixsocket [path], unixsocketperm [number] (±âº»°ª: ¾øÀ½)

µé¾î¿À´Â ¿äûÀ» listenÇÒ unix socketÀÇ °á·Î¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ ¼³Á¤¿¡´Â ±âº» °ªÀÌ ¾ø´Ù. µû¶ó¼­ °ªÀÌ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é unix socket¿¡ ´ëÇؼ­´Â listenÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.

¿¹) unixscoket /tmp/redis.sock
¿¹) unixsocketperm 755

timeout [second]

clientÀÇ idleÀÌ N ÃÊ µ¿¾È Áö¼ÓµÇ¸é connectionÀÌ ´ÝÈù´Ù. (0À¸·Î ÁöÁ¤Çϸé connectionÀÌ °è¼Ó À¯ÁöµÈ´Ù.)

¿¹) timeout 0

loglevel [level]

logl evel À» ÁöÁ¤ÇÑ´Ù. Log level ¿¡´Â ¾Æ·¡ 4°¡Áö Áß Çϳª¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.

loglevel¼³ ¸í
debug¾öû³ª°Ô ¸¹Àº Á¤º¸¸¦ ±â·ÏÇÑ´Ù. °³¹ß°ú Å×½ºÅ× ½Ã À¯¿ëÇÏ´Ù.
verboseÀ¯¿ëÇÏÁö ¾ÊÀº ¸¹Àº ¾çÀÇ Á¤º¸¸¦ ±â·ÏÇÑ´Ù. ÇÏÁö¸¸ 'debug level'¸¸Å­ ¸¹Áö´Â ¾Ê´Ù.
noticeÁ¦Ç°À» ¿î¿µÇϱ⿡ Àû´çÇÑ ¾çÀÇ ·Î±×°¡ ³²´Â´Ù.
warning¸Å¿ì Áß¿äÇϰųª ½É°¢ÇÑ ³»¿ë¸¸ ³²´Â´Ù.

¿¹) loglevel verbose

logfile [file path]

·Î±× ÆÄÀÏÀ» ¸í½ÃÇÑ´Ù.'stdout'·Î Redis°¡ the standard output¿¡ ·Î±×¸¦ ±â·ÏÇϵµ·Ï ÇÒ ¼ö ÀÖ´Ù. ¸¸¾à 'stdout'¸¦ ¸í½ÃÇßÀ¸³ª Redis°¡ daemonÀ¸·Î µ¿ÀÛÇÑ´Ù¸é ·Î±×´Â /dev/null logfile stdout ·Î º¸³»Áú °ÍÀÌ´Ù. µû¶ó¼­ ·Î±×°¡ ³²Áö ¾ÊÀ» °ÍÀÌ´Ù.

¿¹) logfile stdout

syslog-enabled [boolean]

system logger¸¦ »ç¿ëÇؼ­ logging ÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù. ´ÜÁö 'yes'·Î ¼³Á¤ÇÏ°í Ãß°¡Àû ¼³Á¤À» À§Çؼ­ ´Ù¸¥ syslog parameterµéÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.

¿¹) syslog-enabled no

syslog-ident [identity]

syslog identity¸¦ ÁöÁ¤ÇÑ´Ù.

¿¹) syslog-ident redis

syslog-facility [facility]

syslog facility(½Ã¼³)À» ÁöÁ¤ÇÑ´Ù. ¹Ýµå½Ã USER ¶Ç´Â LOCAL0 - LOCAL7 »çÀÌ °ªÀÌ »ç¿ëµÇ¾î¾ß ÇÑ´Ù.

¿¹) syslog-facility local0

databases [size]

dababaseµéÀÇ ¼ýÀÚ¸¦ ¼³Á¤ÇÑ´Ù. ±âº» dababase´Â DB 0ÀÌ´Ù. ¹°·Ð connecton´ç 'SELECT <dbid>' »ç¿ëÇؼ­ ´Ù¸¥ database¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. dbid´Â 0 °ú 'database ¼ö - 1'»çÀÌÀÇ ¼öÀÌ´Ù.

¿¹) databases 16

SNAPSHOTTING (RDB Áö¼Ó¼º ¼³Á¤)

save [seconds] [changes]

disk¿¡ DB¸¦ ÀúÀåÇÑ´Ù. DB¿¡¼­ ÁÖ¾îÁø °ªÀÎ seconds¿Í changes¸¦ ¸ðµÎ ¸¸Á·½ÃÅ°¸é DB¸¦ ÀúÀå ÇÒ °ÍÀÌ´Ù.
ÀÌ ¼³Á¤Àº ¿©·¯¹ø ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.

¾Æ·¡´Â ¿¹Á¦¸¦ ¼³¸íÇÑ °ÍÀÌ´Ù.
900ÃÊ(15)ºÐ µ¿¾È¿¡ 1°³ ÀÌ»óÀÇ key º¯°æÀÌ ¹ß»ýÇß´Ù¸é DB¸¦ ÀúÀåÇÑ´Ù.
300ÃÊ(5)ºÐ µ¿¾È¿¡ 10°³ ÀÌ»óÀÇ key º¯°æÀÌ ¹ß»ýÇß´Ù¸é DB¸¦ ÀúÀåÇÑ´Ù.
60ÃÊ(1)ºÐ µ¿¾È¿¡ 10000°³ ÀÌ»óÀÇ key º¯°æÀÌ ¹ß»ýÇß´Ù¸é DB¸¦ ÀúÀåÇÑ´Ù.
½ÇÁ¦ ¼­ºñ½º¿¡¼­´Â ³Ê¹« ÀÚÁÖ µ¿±âÈ­°¡ ÀϾ°Ô ¼³Á¤ÇÏ¸é ¾ÈµÈ´Ù.

ÁÖ¸ñ: DB¸¦ ÀúÀåÇÏ°í ½ÍÁö ¾ÊÀ¸¸é ¸ðµç save ¶óÀεéÀ» ÁÖ¼® ó¸®ÇÑ´Ù.

¿¹) save 900 1
¿¹) save 300 10
¿¹) save 60 10000

rdbcompression [boolean] (±âº»°ª: yes)

.rbd database¸¦ ´ýÇà ÇÒ ¶§ LZF¸¦ »ç¿ëÇؼ­ ¹®ÀÚ¿­ ºÎºÐÀ» ¾ÐÃàÇÒÁö ¼³Á¤ÇÑ´Ù.
¾ÐÃàÇÏ´Â °ÍÀº ´ëºÎºÐÀÇ °æ¿ì ÁÁ±â ¶§¹®¿¡ ±âº»°ªÀº 'yes'ÀÌ´Ù.
¸¸¾à child setÀ» ÀúÀåÇÒ ¶§ CPU »ç¿ëÀ» Àý¾àÇÏ°í ½Í´Ù¸é 'no'·Î ¼³Á¤ÇÑ´Ù. ÇÏÁö¸¸ values ¶Ç´Â keys°¡ ¾ÐÃàÀÌ °¡´ÉÇß´Ù¸é, datasetÀº º¸´Ù Ä¿Áú °ÍÀÌ´Ù.

¿¹) rdbcompression yes

dbfilename [file path]

DB°¡ dumpµÉ ÆÄÀÏÀ» ¼³Á¤ÇÑ´Ù.

¿¹) dbfilename dump.rdb

dir [directory path]

DB°¡ ±â·ÏµÉ µð·ºÅ丮¸¦ ¼³Á¤ÇÑ´Ù. DB dumpÆÄÀÏÀº À§ÀÇ dbfilename°ú ÇÔ²² ÃÖÁ¾ÀûÀ¸·Î ÆÄÀÏÀÌ ±â·ÏµÉ °÷ÀÌ ÁöÁ¤µÈ´Ù.
Append Only File ¶ÇÇÑ ÀÌ µð·ºÅ丮¿¡ ÆÄÀÏÀ» »ý¼ºÇÒ °ÍÀÌ´Ù.
¹Ýµå½Ã ¿©±â¿¡ µð·ºÅ丮¸¦ ¼³Á¤ÇØ¾ß ÇÑ´Ù. file name¿¡ ¼³Á¤ÇÏ¸é ¾È µÈ´Ù.

¿¹) dir ./

REPLICATION (º¹Á¦ ¼Â ±¸¼º ¼³Á¤)

slaveof [masterip] [masterport]

Master-Slave replicationÀ» ±¸¼ºÇϱâ À§Çؼ­ slaveof¸¦ »ç¿ëÇÑ´Ù. ÀÌ°ÍÀº Redis instance°¡ ´Ù¸¥ Redis serverÀÇ º¹»çº»ÀÌ µÇ°Ô ÇÑ´Ù.
slave¿¡ ´ëÇÑ ¼³Á¤Àº local¿¡ À§Ä¡ÇÑ´Ù. µû¶ó¼­ slave¿¡¼­´Â ³»ºÎÀûÀ¸·Î µû·Î DB¸¦ ÀúÀå Çϰųª, ´Ù¸¥ port¸¦ listenÇÏ´Â µî slave¸¸ÀÇ ¼³Á¤ÀÌ °¡´ÉÇÏ´Ù.

¿¹) slaveof 127.0.0.1 6379

masterauth [master-password]

¸¸¾à master¿¡ password°¡ ¼³Á¤µÇ¾î ÀÖ´Ù¸é replication synchronization(º¹Á¦ µ¿±âÈ­) °úÁ¤ÀÌ ½ÃÀ۵DZâ Àü¿¡ slaveÀÇ ÀÎÁõÀÌ °¡´ÉÇÏ´Ù. (ÀÌ°ÍÀº "requirepass" ¼³Á¤À¸·Î °¡´ÉÇÏ´Ù). ¸¸¾à password°¡ Ʋ¸®´Ù¸é slaveÀÇ ¿äûÀº °ÅÀýµÉ °ÍÀÌ´Ù.

¿¹) masterauth password1234 

slave-server-stale-data [boolean] (±âº»°ª: yes)

¸¸¾à slave°¡ master¿ÍÀÇ connectionÀÌ ²÷¾î Á³°Å³ª, replicationÀÌ ÁøÇà ÁßÀÏ ¶§´Â ¾Æ·¡ÀÇ 2°¡Áö ÇൿÀ» ÃëÇÒ ¼ö ÀÖ´Ù.

  1. 'yes(±âº»°ª)'·Î ¼³Á¤ÇÑ °æ¿ì, À¯È¿ÇÏÁö ¾ÊÀº data·Î clientÀÇ ¿äû¿¡ °è¼Ó ÀÀ´äÇÒ °ÍÀÌ´Ù. ¸¸¾à ù¹ø° µ¿±âÈ­ ÁßÀÌ¿´´Ù¸é data´Â ´Ü¼øÈ÷ empty·Î ¼³Á¤µÉ °ÍÀÌ´Ù.
  2. 'no'·Î ¼³Á¤ÇÑ °æ¿ì, INFO¿Í SLAVEOF commad(¸í·É)À» Á¦¿ÜÇÑ ¸ðµç commandµé¿¡ ´ëÇؼ­ "SYNC with master in progress" error·Î ÀÀ´äÇÒ °ÍÀÌ´Ù.

¿¹) slave-server-stale-data yes

repl-ping-slave-perid [seconds] (±âº»°ª: 10)

Salve°¡ ³»ºÎÀûÀ¸·Î ¹Ì¸® Á¤ÀÇµÈ server·Î ÁöÁ¤µÈ ½Ã°£¸¶´Ù PINGÀ» º¸³»µµ·Ï ¼³Á¤ÇÑ´Ù.

¿¹) repl-ping-slave-perid 10

repl-timeout [seconds] (±âº»°ª: 60)

'bulk transfer I/O(´ë·® Àü¼Û I/O) timeout'°ú 'master¿¡ ´ëÇÑ data¶Ç´Â ping response timeout'À» ¼³Á¤ÇÑ´Ù.

ÀÌ °ªÀº 'repl-ping-slave-period' °ª º¸´Ù Ç×»ó Å©µµ·Ï ¼³Á¤µÇ¾î¾ß ÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é master¿Í slave°£ ÀÛÀº trafficÀÌ ¹ß»ýÇÒ ¶§ ¸¶´Ù timeoutÀÌ ÀÎÁöµÉ °ÍÀÌ´Ù.

¿¹) repl-timeout 60

SECURITY (º¸¾È ¼³Á¤)

requirepass [password]

client¿¡°Ô ´Ù¸¥ commandµéÀ» ¼öÇàÇϱâ Àü¿¡ password¸¦ ¿ä±¸Çϵµ·Ï ¼³Á¤ÇÑ´Ù. ÀÌ°ÍÀº redis-server¿¡ Á¢±ÙÇϴ clientµéÀ» ¹ÏÀ» ¼ö ¾ø´Â ȯ°æÀÏ ¶§ À¯¿ëÇÑ´Ù.

¹Ý´ë·Î °³¹æÀûÀ¸·Î »ç¿ëÇϱâ À§Çؼ­´Â ÁÖ¼® ó¸® µÇ¾î¾ß ÇÑ´Ù. ¿Ö³ÄÇÏ¸é ´ëºÎºÐÀÇ »ç¶÷µéÀº auth°¡ ÇÊ¿äÇÏÁö ¾Ê±â ¶§¹®ÀÌ´Ù.

ÁÖÀÇ: Redis´Â ¸Å¿ì ºü¸£±â ¶§¹®¿£ ÁÁÀº ȯ°æ¿¡¼­´Â ¿ÜºÎ »ç¿ëÀÚ°¡ 1ÃÊ ´ç 15¸¸°³ÀÇ password¸¦ ½ÃµµÇÒ ¼ö ÀÖ´Ù. µû¶ó¼­ ¸Å¿ì °­·ÂÇÑ password¸¦ ¼³Á¤ÇØ¾ß ÇÑ´Ù.

¿¹) requirepass foobared

rename-command [target-command] [new-command]

Commnad renaming

°øÀ¯µÇ´Â ȯ°æ¿¡¼­´Â À§ÇèÇÑ commandµéÀÇ À̸§À» º¯°æÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î¼­ CONFIG command¸¦ ÃßÃøÇϱ⠾î·Á¿î ´Ù¸¥ °ªÀ¸·Î º¯°æÇÒ ¼ö ÀÖ´Ù. ¹°·Ð internal-use tool·Î´Â ÇØ´ç ¸í·É¾î°¡ »ç¿ëÇÏÁö¸¸, ÀϹÝÀûÀÎ ¿ÜºÎ clientµé¿¡ ´ëÇؼ­´Â ºÒ°¡´ÉÇÏ´Ù.

¿¹) rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52

¶ÇÇÑ command¸¦ °ø¹éÀ¸·Î renameÇؼ­ ¿ÏÀüÈ÷ »ç¿ë ºÒ°¡´ÉÇÏ°Ô ÇÒ ¼öµµ ÀÖ´Ù.

¿¹) rename-command CONFIG ""

LIMITS (Á¢¼Ó ¹× ¸Þ¸ð¸® ¼³Á¤)

maxclients [size] (±âº»°ª: Á¦ÇÑ ¾øÀ½)

Çѹø¿¡ ¿¬°áµÉ ¼ö ÀÖ´Â ÃÖ´ë client ¼ö¸¦ ¼³Á¤ÇÑ´Ù. ±âº»°ªÀº Á¦ÇÑÀÌ ¾øÀ¸³ª, Redis processÀÇ file descriptorÀÇ ¼ýÀÚ¸¸Å­ ¿¬°á°¡´ÉÇÏ´Ù. Ưº°È÷ '0' °ªÀº Á¦ÇÑ ¾øÀ½À» ÀǹÌÇÑ´Ù.
limit¿¡ µµ´ÞÇßÀ» ¶§ »õ·Î¿î connectionµé¿¡ ´ëÇؼ­´Â 'max number of clients reached' error¸¦ Àü¼ÛÇÑ°í connectionÀ» close ÇÑ´Ù.

¿¹) maxclients 128

maxmemory [bytes]

¸í½ÃÇÑ bytesÀÇ ¾çº¸´Ù ¸¹Àº ¸Þ¸ð¸®¸¦ »ç¿ëÇÏÁö ¸»¾Æ¶ó.
memory°¡ limit¿¡ µµ´ÞÇßÀ» ¶§ Redis´Â ¼±ÅÃµÈ eviction policy(Á¦°Å Á¤Ã¥)(maxmemory-policy)¿¡ µû¶ó¼­ keyµéÀ» Á¦°ÅÇÒ °ÍÀÌ´Ù.

¸¸¾à Redis°¡ eviction policy¿¡ ÀÇÇؼ­ key¸¦ Á¦°ÅÇÏÁö ¸øÇϰųª polict°¡ 'noeviction'À¸·Î ¼³Á¤µÇ¾î ÀÖ´Ù¸é, SET, LPUSH¿Í °°ÀÌ ¸Þ¸ð¸®¸¦ »ç¿ëÇÏ´Â commandµé¿¡ ´ë¤À¼­´Â error¸¦ ¹ÝȯÇÏ°í, ¿ÀÁ÷ GET °°Àº read-only commandµé¿¡ ´ëÇؼ­¸¸ ÀÀ´äÇÒ °ÍÀÌ´Ù.

ÁÖÀÇ: maxmoery ¼³Á¤ µÈ instance¿¡ slave°¡ Á¸Àç ÇÒ ¶§, slave¿¡°Ô data¸¦ Á¦°øÇϱâÀ§Çؼ­ »ç¿ëµÇ´Â output bufferÀÇ size´Â  used memory count¿¡¼­ Á¦¿ÜµÈ´Ù. ¿Ö³ÄÇϸé network ¹®Á¦³ª À絿±âÈ­°¡ keysµéÀÌ Á¦°ÅµÈ loop¿¡ ´ëÇÑ trigger¸¦ ¹ß»ý½ÃÅ°Áö ¾Ê°Ô Çϱâ À§Çؼ­ÀÌ´Ù. loop°¡ ¹ß»ýÇϸé slaveÀÇ output buffer°¡ Á¦°ÅµÈ keyµéÀÇ DEL ¸í·ÉÀ¸·Î °¡µæ Âû °ÍÀÌ´Ù. ±×¸®°í ÀÌ°ÍÀº database°¡ ¿ÏÀüÈ÷ ºô ¶§ ±îÁö Áö¼ÓµÈ´Ù. (Á» ´õ Á¤È®È÷ ¾Ë¾Æº¼ ÇÊ¿ä°¡ ÀÖ´Ù. È®½ÇÈ÷ ÀÌÇØ°¡ ¾È µÊ)

°£´ÜÈ÷ ¸»Çϸé, ¸¸¾à slave¸¦ °¡Áø´Ù¸é, slave output buffer¸¦ À§Çؼ­ system¿¡ ¾à°£ÀÇ free RAMÀÌ Á¸Àç½ÃÅ°±â À§Çؼ­, maxmoery¿¡ ¾à°£ ³·Àº limit¸¦ ¼³Á¤ÇÏ´Â °ÍÀÌ ÃßõµÈ´Ù. (ÇÏÁö¸¸ policy°¡ 'noeviction'À̸é ÇÊ¿äÇÏÁö ¾Ê´Ù.)

Å« ¸Þ¸ð¸®¸¦ Ç¥½ÃÇϱâ À§Çؼ­ ¾Æ·¡¿Í °°ÀÌ Ç¥±â°¡ °¡´ÉÇÏ´Ù.

1k1,000 bytes
1kb1024 bytes
1m1,000,000 bytes
1mb1024*1024 bytes
1g1,000,000,000 bytes
1gb1012*1024*1024 bytes

¿¹) maxmoery 1000

maxmemory-policy [policy] (±âº»°ª: volatile-lru)

MAXMEMORY POLICY: maxmemory¿¡ µµ´ÞÇßÀ» ¶§ ¹«¾ùÀ» »èÁ¦ ÇÒ °ÍÀÎÁö ¼³Á¤ÇÑ´Ù. ¾Æ·¡ 5°³ ¿É¼Ç Áß Çϳª¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù.

¿É¼Ç¼³ ¸í
volatile-lruexpire°¡ ¼³Á¤µÈ key µé Áß LRU algorithm¿¡ ÀÇÇؼ­ ¼±ÅÃµÈ key¸¦ Á¦°ÅÇÑ´Ù.
allkeys-lru¸ðµç key µé Áß LRU algorithm¿¡ ÀÇÇؼ­ ¼±ÅÃµÈ key¸¦ Á¦°ÅÇÑ´Ù.
volatile-randomexpire°¡ ¼³Á¤µÈ key µé Áß ÀÓÀÇÀÇ key¸¦ Á¦°ÅÇÑ´Ù.
allkeys-random¸ðµç key µé Áß ÀÎÀÇÀÇ key¸¦ Á¦°ÅÇÑ´Ù.
volatile-ttlexpire timeÀÌ °¡Àå Àû°Ô ³²Àº key¸¦ Á¦°ÅÇÑ´Ù. (minor TTL)
noeviction¾î¶² keyµµ Á¦°ÅÇÏÁö ¾Ê´Â´Ù. ´ÜÁö ¾²±â µ¿ÀÛ¿¡ ´ëÇؼ­ error¸¦ ¹ÝȯÇÑ´Ù.

¿¹) maxmemory-policy volatile-lru

maxmemory-samples [size] (±âº»°ª: 3)

LRU¿Í minimal TTL algorithms(¾Ë°í¸®Áò)Àº Á¤È®ÇÑ(ÃÖÀû) ¾Ë°í¸®ÁòµéÀº ¾Æ´Ï´Ù. ÇÏÁö¸¸ °ÅÀÇ ÃÖÀû¿¡ °¡±õ´Ù. µû¶ó¼­ (¸Þ¸ð¸®¸¦ Àý¾àÇϱâ À§Çؼ­) °Ë»ç¸¦ À§ÇÑ »ùÇÃÀÇ Å©±â¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, Redis´Â ±âº»ÀûÀ¸·Î 3°³ÀÇ keyµéÀº °Ë»çÇÏ°í ÃÖ±Ù¿¡ °¡Àå Àû°Ô »ç¿ëµÈ key¸¦ ¼±ÅÃÇÒ °ÍÀÌ´Ù. ÇÏÁö¸¸ ¾Æ·¡ ¿¹¿Í °°ÀÌ »ùÇÃÀÇ Å©±â¸¦ º¯°æÇÒ ¼ö ÀÖ´Ù.

¿¹) maxmoery-samples 3

APPEND ONLY MODE (AOF Áö¼Ó¼º ¼³Á¤)

appendonly [boolean] (±âº»°ª: no)

Redis´Â ±âº»ÀûÀ¸·Î ºñµ¿±â·Î disk¿¡ datasetÀÇ dump¸¦ ³²±ä´Ù. ÀÌ ¹æ¹ýÀº crash°¡ ¹ß»ýÇßÀ» ¶§ ÃÖ±ÙÀÇ record¸¦ ¼Õ½ÇµÇ¾îµµ ¹®Á¦°¡ ¾øÀ» ¶§ ÁÁÀº ¹æ¹ýÀÌ´Ù. ÇÏÁö¸¸ ÇϳªÀÇ recordµµ À¯½ÇµÇÁö ¾Ê±â¸¦ ¿øÇÑ´Ù¸é append only mode¸¦ È°¼ºÈ­ ½ÃÅ°´Â °ÍÀÌ ÁÁÀ» °ÍÀÌ´Ù.: ÀÌ mode°¡ È°¼ºÈ­ µÇ¸é, Redis´Â ¿äû¹Þ´Â ¸ðµç write operationµéÀ» appendonly.aof ÆÄÀÏ¿¡ ±â·ÏÇÒ °ÍÀÌ´Ù. Redis°¡ Àç ½ÃÀÛµÉ ¶§ memory¿¡ dataset¸¦ rebuildÇϱâ À§Çؼ­ ÀÌ ÆÄÀÏÀ» ÀÐÀ» °ÍÀÌ´Ù.

ÁÖ¸ñ: ¿øÇÑ´Ù¸é async dumps¿Í asppend only fileÀ» µ¿½Ã¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¸¸¾à append only mode°¡ È°¼ºÈ­ µÇ¾î ÀÖ´Ù¸é, startup ¶§ datasetÀÇ rebuild¸¦ À§Çؼ­ append only modeÀÇ log fileÀ» »ç¿ëÇÏ°í, dump.rdb ÆÄÀÏÀº ¹«½ÃÇÒ °ÍÀÌ´Ù.

Áß¿ä: ¼ø°£ÀûÀ¸·Î write operationÀÌ ¸¹À» ¶§ background¿¡¼­ ¾î¶»°Ô append log fileÀ» rewirte ÇÏ´Â ¹æ¹ýÀ» È®ÀÎÇϱâ À§Çؼ­ BGREWRITEAOF¸¦ È®ÀÎÇضó.

¿¹) appendonly no

appendfilename [file name] (±âº»°ª: appenonly.aof)

append only fileÀÇ À̸§À» ¼³Á¤ÇÑ´Ù.
ÆÄÀÏÀÌ ÀúÀåµÇ´Â µð·ºÅ丮´Â SNAPSHOTTINGÀÇ dir ¼Ó¼ºÀ» »ç¿ëÇÑ´Ù.

¿¹) appendfilename appendonly.aof

appendsync [option]

fsync() call Àº Operating System(¿î¿µÃ¼Á¦)¿¡°Ô output buffer ³»¿¡ º¸´Ù ¸¹Àº µ¥ÀÌÅ͵éÀ» ±â´Ù¸®Áö ¾Ê°í, disk¿¡ ½ÇÁ¦·Î data¸¦ ÀÛ¼ºÇ϶ó°í ¸»ÇÑ´Ù. ¾î¶² OS ´Â ½ÇÁ¦·Î disk¿¡ data¸¦ ±â·ÏÇÒ °ÍÀÌ°í, ¾î¶² OSµéÀº °¡´ÉÇÑ »¡¸® data¸¦ ±â·ÏÇÏ·Á°í ½ÃµµÇÒ °ÍÀÌ´Ù.

Redis´Â 3°¡ÁöÀÇ ´Ù¸¥ modeµéÀ» Áö¿øÇÑ´Ù.

¿É¼Ç¼³ ¸í
nofsync()¸¦ È£ÃâÇÏÁö ¾Ê´Â´Ù. dataÀÇ flush¸¦ OS¿¡ ¸Ã±ä´Ù. ºü¸£´Ù.
alwaysappend only log¿¡ wrtie ÇÒ ¶§ ¸¶´Ù fsync()¸¦ È£ÃâÇÑ´Ù. ´À¸®´Ù, ¾ÈÀüÇÏ´Ù.
everysec¸Å ÃÊ ¸¶´Ù fsync()¸¦ È£ÃâÇÑ´Ù. ÀýÃæ¾È

±âº»°ªÀΠ'everysec'Àº ÀϹÝÀûÀ¸·Î ¼Óµµ¿Í µ¥ÀÌÅÍ ¾ÈÁ¤¼º »çÀÌ¿¡¼­ ÀûÀýÇÑ ÀýÃæ¾ÈÀÌ´Ù. ÀÌ°ÍÀº ´ç½ÅÀÇ °ü´ëÇÔ(?)¿¡ ´Þ·ÁÀÖ´Ù. ¸¸¾à 'no'·Î ¼³Á¤ÇÑ´Ù¸é OS´Â ÀûÀýÇÑ Å¸Àֿ̹¡ output buffer¸¦ flushÇÏ°í º¸´Ù ÁÁÀº ¼º´ÉÀ» ³¾ °ÍÀÌ´Ù. (±×·¯³ª ¸¸¾à data loss°¡ ¹ß»ýÇصµ ¹®Á¦°¡ ¾ø´Ù¸é ±âº» persistence(¿µ¼Ó¼º) mode´Â snapshottingÀÏ °ÍÀÌ´Ù.) ¹Ý¸é¿¡ "always"¸¦ »ç¿ëÇÏ¸é ¸Å¿ì ´À¸± °ÍÀÌ´Ù. ÇÏÁö¸¸ 'everysec'º¸´Ù Á¶±Ý ´õ ¾ÈÀüÇÒ °ÍÀÌ´Ù.

¸¸¾à È®½ÇÇÏÁö¾Ê´Ù¸é 'everysec'¸¦ »ç¿ëÇضó.

¿¹) appendfasync everysec

no-appendfsync-on-rewrite [boolean]

AOF fsync policy¸¦ always ¶Ç´Â everysec·Î ¼³Á¤Çß´Ù¸é, background saving process(background ÀúÀå ¶Ç´Â AOF log backgournd rewriting)Àº disk¿¡ ´ëÇؼ­ ¸Å¿ì ¸¹Àº I/O¸¦ ¹ß»ý½Ãų °ÍÀÌ´Ù. µû¶ó¼­ ¾î¶² Linux¿¡¼­ fsync() callÀº ¸Å¿ì ±ä block¸¦ ¹ß»ý½Ãų¼öµµ ÀÖ´Ù.

ÁÖ¸ñ: ÇöÀç ÀÌ°Í¿¡ ´ëÇÑ fix(¼öÁ¤)Àº ¾ø´Ù. ´Ù¸¥ thread¿¡¼­ fsync¸¦ ¼öÇàÇÏ´õ¶óµµ µ¿½Ã¿¡ ¹ß»ýÇÏ´Â wirte call(2)ÀÌ block µÉ °ÍÀÌ´Ù.

ÀÌ ¹®Á¦¸¦ ¿ÏÈ­ ½ÃÅ°±â À§Çؼ­ BGSAVE ¶Ç´Â BGREWRITEAOF°¡ ¼öÇàÁßÀÎ µ¿¾È¿¡ ¸ÞÀÎ process¿¡¼­ fsync()°¡ È£ÃâµÇ´Â °ÍÀ» ¸·À» ¼ö ÀÖ´Â no-appendfsync-on-rewirte optionÀ» »ç¿ëÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù.

ÀÌ°ÍÀº RedisÀÇ ¿µ¼Ó¼ºÀ» ÀúÀåÇÏ´Â µ¿¾È¿¡ ´Ù¸¥ ÀÚ½ÄÀº "appendfsync none"À¸·Î ¼³Á¤ÇÑ °Í°ú µ¿ÀÏÇÏ´Ù. ½±°Ô ¸»Çϸé, (LinuxÀÇ ±âº» ¼³Á¤¿¡ ÀÇÇؼ­) ÃÖ¾ÇÀÇ °æ¿ì 30ÃÊ °¡·®ÀÇ log°¡ ¼Õ½ÇµÉ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. (ÀÌÇØ°¡ Àß ¾ÈµÊ)

ÀÌ·Î ÀÎÇؼ­ ÀáÀçÀû ¹®Á¦°¡ ÀÖ´Ù¸é ÀÌ ¿É¼ÇÀ» 'yes'·Î ¼³Á¤Çضó. ÇÏÁö¸¸ ´Ù¸¥ °æ¿ì¿¡´Â 'no'·Î ³²°ÜµÎ´Â °ÍÀÌ ¿µ¼Ó¼ºÀÇ view(?)ºÎÅÍ °¡Àå ¾ÈÀüÇÑ ¼±ÅÃÀÌ´Ù.

¿¹) no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage [percente], auto-aof-rewrite-min-size [bytes]

Append only fileÀÇ Automatic rewrite(ÀÚµ¿ Àç ÀÛ¼º)
Redis´Â AOF logÀÇÅ©±â°¡ ¸í½ÃµÈ ÆÛ¼¾Æ®¸¦ ³Ñ¾î°¬À» ¶§, ÀÚµ¿ÀûÀ¸·Î BGREWRITEAOF¸¦ È£ÃâÇÔÀ¸·Î¼­ log file¸¦ ÀçÀÛ¼º ÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù. (ºñ±³ ´ë»óÀÌ ¹«¾ùÀÎÁö ¸ð¸£°Ú´Ù.ÇØ´ç DriveÀÇ Àüü Å©±âÀΰ¡?)

ÀÛµ¿¹ý: Redis´Â ÃÖ±Ù rewirteÈÄ¿¡ AOF fileÀÇ Å©±â( ¶Ç´Â restartÀÌÈÄ  rewirte°¡ ¹ß»ýÇÏÁö ¾Ê¾Ò´Ù¸é, startup ¶§ »ç¿ëµÈ AOFÀÇ Å©±â)¸¦ ±â¾ïÇÏ°í ÀÖ´Ù.

ÀÌ ±âº» Å©±â´Â ÇöÀç Å©±â¿Í ºñ±³µÇ¾îÁø´Ù. ¸¸¾à ÇöÀç Å©±â°¡ ¼³Á¤µÈ ÆÛ¼¾Æ®º¸´Ù Å©´Ù¸é, rewrite°¡ µ¿ÀÛÇϰԵȴÙ. ¶ÇÇÑ rewritten(ÀçÀÛ¼ºµÇ´Â) AOF ÆÄÀÏÀÇ ÃÖ¼Ò Å©±â¸¦ ÁöÁ¤ÇØ ÁÖ¾î¾ß ÇÑ´Ù. ÀÌ°ÍÀº ºñ·Ï ÆÛ¼¾Æ® Áõ°¡°¡ ¼³Á¤ °ª¿¡ µµ´ÞÇÏ´õ¶óµµ ¿©ÀüÈ÷ ÀÛÀº Å©±âÀÏ ¶§ AOF fileÀÌ rewritingµÇ´Â °ÍÀº ÇÇÇϴµ¥ À¯¿ëÇÏ´Ù.

Automatic AOF rewirteÀ» ºñÈ°¼ºÈ­ ½ÃÅ°±â À§Çؼ­´Â percentage°ªÀ» 0À¸·Î ¼³Á¤Çضó.

¿¹) auto-aof-rewrite-percentage 100
¿¹) auto-aof-rewrite-min-size 64mb

SLOW LOG

Redis Slow Log´Â ¼³Á¤µÈ ½ÇÇà ½Ã°£À» ÃÊ°úÇÑ Äõ¸®µéÀÇ ·Î±×¸¦ ³²±â´Â ½Ã½ºÅÛÀÌ´Ù. ½ÇÇà ½Ã°£Àº talking with the client, sending the reply¿Í °°Àº I/O operationµéÀº Æ÷ÇÔµÇÁö ¾Ê´Â´Ù. ´ÜÁö command¸¦ ¼öÇàÇϴµ¥ ÇÊ¿äÇÑ ½Ã°£(command ½ÇÇàÀ» À§Çؼ­ threaad°¡ blockµÇ¾î¼­ ´Ù¸¥ request¸¦ ó¸®ÇÒ ¼ö ¾ø´Â ½Ã°£)¸¸ÀÌ ÃøÁ¤µÈ´Ù.

2°³ÀÇ parameterµé¸¦ ÅëÇؼ­ slow log¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. : ù¹ø° parameter´Â Redis°¡ slow log¸¦ ±â·ÏÇϱâ À§Çؼ­  ¾î¶² execution timeÀÌ ´À¸° °ÍÀÎÁö ¾Ë·ÁÁÖ±â À§Çؼ­ microsencond·Î ¼³Á¤ÇÑ´Ù. µÎ¹ø° parameter´Â ±â·ÏµÉ ¼ö ÀÖ´Â slow logÀÇ ±æÀÌÀÌ´Ù. »õ·Î¿î command°¡ log µÇ¾úÀ» ¶§, °¡Àå ¿À·¡Àü¿¡ ±â·ÏµÈ log°¡ Á¦°ÅµÈ´Ù. FIFO ÇüÅÂÀÎ °ÍÀÌ´Ù.

slowlog-log-slower-than [microseconds]

microsencod°ªÀ¸·Î slow execution time¸¦ ¼³Á¤ÇÑ´Ù. 1000000Àº 1ÃÊ¿Í °°´Ù.

ÁÖÀÇ: À½¼ö¸¦ ¼³Á¤ÇÑ °æ¿ì slow log¸¦ ºñÈ°¼ºÈ­ ½ÃŲ´Ù. 0À¸·Î ¼³Á¤ÇÑ °æ¿ì ¸ðµç command¿¡ ´ëÇؼ­ logging ¼öÇàµÈ´Ù.

¿¹) slowlog-log-slower-than 10000

slowlog-max-len

±æÀÌ¿¡´Â Á¦ÇÑÀÌ ¾ø´Ù. ´ÜÁö ÀÌ°ÍÀº memory¸¦ ¼Ò¸ðÇÏ´Â °ÍÀº ÀÎÁöÇÏ°í ÀÖ¾î¾ß ÇÑ´Ù.
SLOWLOG RESET ¸í·ÉÀ¸·Î slow log¿¡ ÀÇÇؼ­ »ç¿ëµÈ memory¸¦ ¹Ýȯ ½Ãų ¼ö ÀÖ´Ù.

¿¹) slowlog-max-len 128

VIRTUAL MEMORY

vm-enabled

Virtual Memory´Â Redis 2.4¿¡¼­ Á¦°ÅµÇ¾ú´Ù. vm-enabled no·Î ¼³Á¤Çؼ­ »ç¿ëÇÏÁö ¾Ê´Â´Ù.

¿¹) vm-enabled no

ADVANCED CONFIG

hash-max-zipmap-entries, hash-max-zipmap-value

hashµéÀº elementsÀÇ ¼ýÀÚ°¡ ¼³Á¤µÈ entries(°³¼ö)¿¡ µµ´ÞÇÏ°í °¡Àå Å« element°¡ ¼³Á¤µÈ threshold(±âÁØÄ¡)¸¦ ÃÊ°úÇÏÁö ¾ÊÀ¸¸é Æ¯º°ÇÑ ¹æ¹ýÀ¸·Î(º¸´Ù È¿°úÀûÀÎ ¸Þ¸ð¸® »ç¿ë¹ýÀ¸·Î) encoded(ÀÎÄÚµù)µÇ¾îÁø´Ù.

Ưº°ÇÑ ¹æ¹ý: hashtable ¶Ç´Â zipmap

¿¹) hash-max-zipmap-entries 512
¿¹) hash-max-zipmap-value 64

list-max-ziplist-entries, list-max-ziplist-value

hash¿Í ºñ½ÁÇÏ°Ô ÀÛÀº listµµ °ø°£À» Àý¾àÇϱâ À§Çؼ­ Ưº°ÇÑ ¹æ¹ýÀ¸·Î encodeµÇ¾îÁø´Ù. ¿ÀÁ÷ ¼³Á¤µÈ °ª º¸´Ù ¾Æ·¡¿¡ ÀÖÀ» ¶§ Ưº°ÇÑ ¹æ¹ýÀÌ »ç¿ëµÇ¾îÁø´Ù.

Ưº°ÇÑ ¹æ¹ý: linkedlist ¶Ç´Â ziplist

¿¹) list-max-ziplist-entries 512
¿¹) list-max-ziplist-value 64

set-max-intset-entries

SetÀº ¿ÀÁ÷ ÇÑ °¡Áö °æ¿ì¿¡¸¸ Ưº°ÇÑ ¹æ¹ýÀ¸·Î encoded µÇ¾îÁø´Ù. SetÀÌ ¿ÀÁ÷ string(¹®ÀÚ¿­)·Î¸¸ ±¸¼ºµÇ¾úÀ» ¶§, 64bit signed integer ¹üÀ§ÀÇ radix 10ÀÇ integer·Î º¯È¯µÈ´Ù.
¾Æ·¡ ¼³Á¤Àº Ưº°ÇÑ ¸Þ¸ð¸® ÀúÀå ÀÎÄÚµùÀ» »ç¿ëÇϱâ À§Çؼ­ set ÀÇ Å©±â Á¦ÇÑÀ» ¼³Á¤ÇÑ´Ù. (Á¤È®ÇÑ È®ÀÎ ÇÊ¿ä, ¾Æ¸¶µµ ¾Æ·¡º¸´Ù Å©Áö ¾ÊÀ» ¶§ »ç¿ëÇÏÁö ¾ÊÀ»±î ½Í´Ù.)

¿¹) set-max-intset-entries 512

zset-max-ziplist-entries, zset-max-ziplist-value

hash ¹× list¿Í ºñ½ÁÇÏ°Ô, sorted setµµ ¸¹Àº °ø°£À» Àý¾àÇϱâ À§Çؼ­ Ưº°ÇÏ°Ô encodedµÇ¾îÁø´Ù. ÀÌ EncodingÀº sorted setÀÇ element¿Í length°¡ ¼³Á¤Ä¡¸¦ ÃÊ°úÇÏÁö ¾ÊÀ» ¶§ »ç¿ëµÇ¾î Áø´Ù.

¿¹) zset-max-ziplist-entries 128
¿¹) zset-max-ziplist-value 64

activerehashing

rehashingÀ» È°¼ºÈ­ Çϸé main Redis has table(ÃÖ»óÀ§ key-value hash table)À» rehashingÇÏ´Â °ÍÀ» µ½±â À§Çؼ­ CPU timeÀÇ ¸Å 100 millisecond ¸¶´Ù 1 millisencond¸¦ »ç¿ëÇÑ´Ù. redis°¡ »ç¿ëÇÏ´Â hash table ±¸ÇöÀº lazy rehashingÀ¸·Î µ¿ÀÛÇÑ´Ù. rehashingÀÌ ¼öÇàµÇ´Â hash table¿¡¼­ ¸¹Àº operationÀ» ¼öÇà ÇÒ ¼ö·Ï, º¸´Ù ¸¹Àº rehashing 'steps'ÀÌ ¼öÇàµÈ´Ù. µû¶ó¼­ server°¡ idle »óÅÂÀ̸é rehashingÀº °áÄÚ ¿Ï·áµÇÁö ¾Ê°í, ¾à°£ÀÇ ¸Þ¸ð¸®°¡ hash table¿¡ ÀÇÇؼ­ »ç¿ëµÇ¾îÁø´Ù.

±âº»°ªÀº °¡´ÉÇÒ ¸Þ¸ð¶ó´Â freeÇÏ°Ô ¸¸µé±â À§Çؼ­, main dictionaryµéÀÇ rehashingÀ» activeÇϴµ¥ ¸Å Ãʸ¶´Ù 10 millisecond¸¦ »ç¿ëÇÏ´Â °ÍÀÌ´Ù.

¸¸¾à Èûµç ÀáÀçÀû ¿ä±¸»çÇ×À̳ª ´ç½ÅÀÇ È¯°æ¿¡ ÀûÇÕÇÏÁö ¾Ê¾Æ¼­ È®½ÅÀÌ µéÁö ¾Ê´Â´Ù¸é 'activerehashing no'¸¦ »ç¿ëÇضó. ÀÌ ¼³Á¤À¸·Î ÀÎÇؼ­ Redis°¡ requestµé¿¡ ´ëÇؼ­ replyÇϴµ¥ 2 milliseoncdsÀÇ delay(Áö¿¬)°¡ ¹ß»ýÇÒ °ÍÀÌ´Ù.

¸¸¾à ¾î·Á¿î ȯ°æÀÌ ¾Æ´Ï°í °¡ÀåÇÑ ºü¸£°Ô ¸Þ¸ð¸®´Â freeÇÏ°Ô ÇÏ°í ½Í´Ù¸é 'activerehashing yes'¸¦ »ç¿ëÇضó.

¿¹) activerehashing yes



Ãâó: http://kkamagistory.tistory.com/176?category=614183 [Karas.]