เชฐเซ‡เชกเชฟเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชตเชฟเชคเชฐเชฟเชค เชฒเซ‹เช•เซ€เช‚เช—

เชนเซ‡ เชนเชฌเชฐ!

เช†เชœเซ‡ เช…เชฎเซ‡ เชคเชฎเชพเชฐเชพ เชงเซเชฏเชพเชจ เชชเชฐ เชฐเซ‡เชกเชฟเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชกเชฟเชธเซเชŸเซเชฐเชฟเชฌเซเชฏเซเชŸเซ‡เชก เชฒเซ‰เช•เชฟเช‚เช—เชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃ เชตเชฟเชถเซ‡เชจเชพ เชœเชŸเชฟเชฒ เชฒเซ‡เช–เชจเซ‹ เช…เชจเซเชตเชพเชฆ เชฒเชพเชตเซ€เช เช›เซ€เช เช…เชจเซ‡ เชคเชฎเชจเซ‡ เชเช• เชตเชฟเชทเชฏ เชคเชฐเซ€เช•เซ‡ เชฐเซ‡เชกเชฟเชธเชจเซ€ เชธเช‚เชญเชพเชตเชจเชพเช“ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช†เชฎเช‚เชคเซเชฐเชฟเชค เช•เชฐเซ€เช เช›เซ€เช. เชชเซเชธเซเชคเช•เชจเชพ เชฒเซ‡เช–เช• เชฎเชพเชฐเซเชŸเชฟเชจ เช•เซเชฒเซ‡เชชเชฎเซ‡เชจเชจเชพ เชชเซเชฐเชถเซเชจเชฎเชพเช‚ เชฐเซ‡เชกเชฒเซ‹เช• เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ "เช‰เชšเซเชš เชฒเซ‹เชก เช•เชพเชฐเซเชฏเช•เซเชฐเชฎเซ‹", เช†เชชเซ‡เชฒ เช…เชนเซ€เช‚.

เชกเชฟเชธเซเชŸเซเชฐเชฟเชฌเซเชฏเซเชŸเซ‡เชก เชฒเซ‹เช•เซ€เช‚เช— เช เช˜เชฃเชพ เชชเชฐเซเชฏเชพเชตเชฐเชฃเซ‹เชฎเชพเช‚ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเซเช‚ เช–เซ‚เชฌ เชœ เช‰เชชเชฏเซ‹เช—เซ€ เช†เชฆเชฟเชฎ เช›เซ‡ เชœเซเชฏเชพเช‚ เชตเชฟเชตเชฟเชง เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“เช เชชเชฐเชธเซเชชเชฐ เชตเชฟเชถเชฟเชทเซเชŸ เชฐเซ€เชคเซ‡ เชตเชนเซ‡เช‚เชšเชพเชฏเซ‡เชฒ เชธเช‚เชธเชพเชงเชจเซ‹ เชชเชฐ เช•เชพเชฎ เช•เชฐเชตเซเช‚ เชœเซ‹เชˆเช.

เชฐเซ‡เชกเชฟเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ DLM (เชกเชฟเชธเซเชŸเซเชฐเชฟเชฌเซเชฏเซเชŸเซ‡เชก เชฒเซ‰เช• เชฎเซ‡เชจเซ‡เชœเชฐ) เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเซเช‚ เชคเซ‡เชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเชคเซ€ เชธเช‚เช–เซเชฏเชพเชฌเช‚เชง เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เช“ เช…เชจเซ‡ เชชเซ‹เชธเซเชŸเซเชธ เช›เซ‡, เชชเชฐเช‚เชคเซ เชฆเชฐเซ‡เช• เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เช…เชฒเช— เช…เชญเชฟเช—เชฎ เช…เชชเชจเชพเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เช“ เชœเซ‡ เช—เซ‡เชฐเช‚เชŸเซ€ เช†เชชเซ‡ เช›เซ‡ เชคเซ‡ เชฅเซ‹เชกเซ€ เชตเชงเซ เช…เชคเซเชฏเชพเชงเซเชจเชฟเช• เชกเชฟเชเชพเช‡เชจ เชธเชพเชฅเซ‡ เชชเซเชฐเชพเชชเซเชค เช•เชฐเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเซ€ เชธเชฐเช–เชพเชฎเชฃเซ€เชฎเชพเช‚ เช–เซ‚เชฌ เชจเชฌเชณเซ€ เช›เซ‡.

เช† เชฒเซ‡เช–เชฎเชพเช‚ เช…เชฎเซ‡ เชถเชฐเชคเซ€ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€เชถเซเช‚ เชœเซ‡ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡ เช•เซ‡ เชฐเซ‡เชกเชฟเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชกเชฟเชธเซเชŸเซเชฐเชฟเชฌเซเชฏเซเชŸเซ‡เชก เชฒเซ‰เช•เชฟเช‚เช—เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเซเช‚. เช…เชฎเซ‡ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชจเชพเชฎเชจเซ€ เชตเชพเชค เช•เชฐเซ€เชถเซเช‚ เชฐเซ‡เชกเชฒเซ‹เช•, เชคเซ‡ เชตเชฟเชคเชฐเชฟเชค เชฒเซ‹เช• เชฎเซ‡เชจเซ‡เชœเชฐเชจเซ‹ เช…เชฎเชฒ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เช…เชฎเชพเชฐเชพ เชฎเชคเซ‡, เช† เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชธเชพเชฎเชพเชจเซเชฏ เชธเชฟเช‚เช—เชฒ-เช‡เชจเซเชธเซเชŸเชจเซเชธ เช…เชญเชฟเช—เชฎ เช•เชฐเชคเชพเช‚ เชตเชงเซ เชธเซเชฐเช•เซเชทเชฟเชค เช›เซ‡. เช…เชฎเซ‡ เช†เชถเชพ เชฐเชพเช–เซ€เช เช›เซ€เช เช•เซ‡ เชธเชฎเซเชฆเชพเชฏ เชคเซ‡เชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเชถเซ‡, เชชเซเชฐเชคเชฟเชธเชพเชฆ เช†เชชเชถเซ‡ เช…เชจเซ‡ เชตเชงเซ เชœเชŸเชฟเชฒ เช…เชฅเชตเชพ เชตเซˆเช•เชฒเซเชชเชฟเช• เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸเซเชธ เชฎเชพเชŸเซ‡ เชชเซเชฐเชพเชฐเช‚เชญเชฟเช• เชฌเชฟเช‚เชฆเซ เชคเชฐเซ€เช•เซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชถเซ‡.

เช…เชฎเชฒเซ€เช•เชฐเชฃ

เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชจเชพ เชตเชฐเซเชฃเชจ เชชเชฐ เช†เช—เชณ เชตเชงเชคเชพ เชชเชนเซ‡เชฒเชพ, เช…เชฎเซ‡ เชคเซˆเชฏเชพเชฐ เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซ€ เช˜เชฃเซ€ เชฒเชฟเช‚เช•เซเชธ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ€เช เช›เซ€เช. เชคเซ‡เช“ เชธเช‚เชฆเชฐเซเชญ เชฎเชพเชŸเซ‡ เชตเชพเชชเชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡.

เชธเซเชฐเช•เซเชทเชพ เช…เชจเซ‡ เช‰เชชเชฒเชฌเซเชงเชคเชพ เช—เซ‡เชฐเช‚เชŸเซ€

เช…เชฎเซ‡ เช…เชฎเชพเชฐเซ€ เชกเชฟเชเชพเชˆเชจเชจเซ‡ เชฎเชพเชคเซเชฐ เชคเซเชฐเชฃ เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€เช เชธเชพเชฅเซ‡ เชฎเซ‰เชกเชฒ เช•เชฐเชตเชพ เชœเชˆ เชฐเชนเซเชฏเชพ เช›เซ€เช เชœเซ‡ เช…เชฎเชจเซ‡ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชกเชฟเชธเซเชŸเซเชฐเชฟเชฌเซเชฏเซเชŸเซ‡เชก เชฒเซ‰เช•เชฟเช‚เช—เชจเซ‹ เช…เชธเชฐเช•เชพเชฐเช• เชฐเซ€เชคเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เชจเซเชฏเซ‚เชจเชคเชฎ เช—เซ‡เชฐเช‚เชŸเซ€ เชชเซ‚เชฐเซ€ เชชเชพเชกเซ‡ เช›เซ‡.

  1. เชธเซเชฐเช•เซเชทเชพ เชฎเชฟเชฒเช•เชค: เชชเชฐเชธเซเชชเชฐ เชฌเชพเช•เชพเชค. เช•เซ‹เชˆเชชเชฃ เชธเชฎเชฏเซ‡, เชซเช•เซเชค เชเช• เช•เซเชฒเชพเชฏเช‚เชŸ เชฒเซ‹เช•เชจเซ‡ เชชเช•เชกเซ€ เชถเช•เซ‡ เช›เซ‡.
  2. เชชเซเชฐเชพเชชเซเชฏเชคเชพ เชฎเชฟเชฒเช•เชค A: เช•เซ‹เชˆ เชฎเชกเชพเช—เชพเช‚เช  เชจเชฅเซ€. เช†เช–เชฐเซ‡ เชฒเซ‰เช• เชฎเซ‡เชณเชตเชตเซเช‚ เชนเช‚เชฎเซ‡เชถเชพ เชถเช•เซเชฏ เช›เซ‡, เชชเช›เซ€ เชญเชฒเซ‡ เชคเซ‡ เช•เซเชฒเชพเชฏเชจเซเชŸ เช•เซ‡ เชœเซ‡เชฃเซ‡ เชธเช‚เชธเชพเชงเชจเชจเซ‡ เชฒเซ‰เช• เช•เชฐเซเชฏเซเช‚ เชนเซ‹เชฏ เชคเซ‡ เชจเชฟเชทเซเชซเชณ เชœเชพเชฏ เช…เชฅเชตเชพ เช…เชฒเช— เชกเชฟเชธเซเช• เชธเซ‡เช—เชฎเซ‡เชจเซเชŸ เชชเชฐ เช‰เชคเชฐเซ‡.
  3. เชชเซเชฐเชพเชชเซเชฏเชคเชพ เชฎเชฟเชฒเช•เชค B: เชฆเซ‹เชท เชธเชนเชจเชถเซ€เชฒเชคเชพ. เชœเซเชฏเชพเช‚ เชธเซเชงเซ€ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ เชฐเซ‡เชกเชฟเชธ เชจเซ‹เชกเซเชธ เชšเชพเชฒเซ€ เชฐเชนเซเชฏเชพ เช›เซ‡, เชคเซเชฏเชพเช‚ เชธเซเชงเซ€ เช•เซเชฒเชพเชฏเชจเซเชŸเซเชธ เชคเชพเชณเชพเช“ เชฎเซ‡เชณเชตเชตเชพ เช…เชจเซ‡ เชฐเชฟเชฒเซ€เช เช•เชฐเชตเชพเชฎเชพเช‚ เชธเช•เซเชทเชฎ เช›เซ‡.

เชถเชพ เชฎเชพเชŸเซ‡ เชจเชฟเชทเซเชซเชณเชคเชพ เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชคเชฟ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช…เชฎเชฒเซ€เช•เชฐเชฃ เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เชชเซ‚เชฐเชคเซเช‚ เชจเชฅเซ€
เช…เชฎเซ‡ เชถเซเช‚ เชธเซเชงเชพเชฐเชตเชพ เชœเชˆ เชฐเชนเซเชฏเชพ เช›เซ€เช เชคเซ‡ เชธเชฎเชœเชตเชพ เชฎเชพเชŸเซ‡, เชšเชพเชฒเซ‹ Redis เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ€ เชตเชฟเชคเชฐเชฟเชค เชฒเซ‰เช•เชฟเช‚เช— เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€เช“ เชธเชพเชฅเซ‡เชจเซ€ เชตเชฐเซเชคเชฎเชพเชจ เชธเซเชฅเชฟเชคเชฟเชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเซ€เช.

Redis เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเช‚เชธเชพเชงเชจเชจเซ‡ เชฒเซ‹เช• เช•เชฐเชตเชพเชจเซ€ เชธเซŒเชฅเซ€ เชธเชฐเชณ เชฐเซ€เชค เช เช›เซ‡ เช•เซ‡ เช‰เชฆเชพเชนเชฐเชฃเชฎเชพเช‚ เช•เซ€ เชฌเชจเชพเชตเชตเซ€. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เช•เซ€ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เชœเซ€เชตเชจเช•เชพเชณ เชธเชพเชฅเซ‡ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เช† Redis เชฎเชพเช‚ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡เชฒ เชธเชฎเชพเชชเซเชคเชฟ เชธเซเชตเชฟเชงเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชชเซเชฐเชพเชชเซเชค เชฅเชพเชฏ เช›เซ‡, เชคเซ‡เชฅเซ€ เชตเชนเซ‡เชฒเชพ เช•เซ‡ เชชเช›เซ€ เช† เช•เซ€ เชฐเซ€เชฒเซ€เช เชฅเชพเชฏ เช›เซ‡ (เช…เชฎเชพเชฐเซ€ เชธเซ‚เชšเชฟเชฎเชพเช‚ เชฎเชฟเชฒเช•เชค 2). เชœเซเชฏเชพเชฐเซ‡ เช•เซเชฒเชพเชฏเช‚เชŸเชจเซ‡ เชธเช‚เชธเชพเชงเชจ เช›เซ‹เชกเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ, เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡ เช•เซ€ เช•เชพเชขเซ€ เชจเชพเช–เซ‡ เช›เซ‡.

เชชเซเชฐเชฅเชฎ เชจเชœเชฐเชฎเชพเช‚, เช† เช‰เช•เซ‡เชฒ เช–เซ‚เชฌ เชธเชพเชฐเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชเช• เชธเชฎเชธเซเชฏเชพ เช›เซ‡: เช†เชชเชฃเซเช‚ เช†เชฐเซเช•เชฟเชŸเซ‡เช•เซเชšเชฐ เชจเชฟเชทเซเชซเชณเชคเชพเชจเชพ เชเช• เชฌเชฟเช‚เชฆเซ เชฌเชจเชพเชตเซ‡ เช›เซ‡. เชœเซ‹ เชฏเชœเชฎเชพเชจ Redis เช‰เชฆเชพเชนเชฐเชฃ เชจเชฟเชทเซเชซเชณ เชœเชพเชฏ เชคเซ‹ เชถเซเช‚ เชฅเชถเซ‡? เชšเชพเชฒเซ‹ เชชเช›เซ€ เชเช• เช—เซเชฒเชพเชฎ เช‰เชฎเซ‡เชฐเซ€เช! เช…เชจเซ‡ เชœเซ‹ เชชเซเชฐเชธเซเชคเซเชคเช•เชฐเซเชคเชพ เช…เชจเซเชชเชฒเชฌเซเชง เชนเซ‹เชฏ เชคเซ‹ เช…เชฎเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชถเซเช‚. เช•เชฎเชจเชธเซ€เชฌเซ‡, เช† เชตเชฟเช•เชฒเซเชช เชตเซเชฏเชตเชนเชพเชฐเซ เชจเชฅเซ€. เช† เช•เชฐเชตเชพเชฅเซ€, เช…เชฎเซ‡ เชธเซเชฐเช•เซเชทเชพ เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เชฎเซเชฏเซเชšเซเชฏเซเช…เชฒ เชเช•เซเชธเช•เซเชฒเซเชเชจ เชชเซเชฐเซ‹เชชเชฐเซเชŸเซ€เชจเซ‹ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เช…เชฎเชฒ เช•เชฐเซ€ เชถเช•เซ€เชถเซเช‚ เชจเชนเซ€เช‚, เช•เชพเชฐเชฃ เช•เซ‡ เชฐเซ‡เชกเชฟเชธเชฎเชพเช‚ เชชเซเชฐเชคเชฟเช•เซƒเชคเชฟ เช…เชธเซเชฎเซ‡เชณ เช›เซ‡.

เชฆเซ‡เช–เซ€เชคเซ€ เชฐเซ€เชคเซ‡, เช†เชตเชพ เชฎเซ‹เชกเซ‡เชฒเชฎเชพเช‚ เชฐเซ‡เชธเชจเซ€ เชธเซเชฅเชฟเชคเชฟ เชœเซ‹เชตเชพ เชฎเชณเซ‡ เช›เซ‡:

  1. เช•เซเชฒเชพเชฏเชจเซเชŸ A เชฎเชพเชธเซเชŸเชฐ เชชเชฐ เชฒเซ‹เช• เชฎเซ‡เชณเชตเซ‡ เช›เซ‡.
  2. เชšเชพเชตเซ€เชจเซ€ เชเชจเซเชŸเซเชฐเซ€ เชธเซเชฒเซ‡เชตเชจเซ‡ เชŸเซเชฐเชพเชจเซเชธเชซเชฐ เชฅเชพเชฏ เชคเซ‡ เชชเชนเซ‡เชฒเชพเช‚ เชฎเชพเชธเซเชŸเชฐ เชจเชฟเชทเซเชซเชณ เชœเชพเชฏ เช›เซ‡.
  3. เช…เชจเซเชฏเชพเชฏเซ€เชจเซ‡ เชจเซ‡เชคเชพ เชคเชฐเซ€เช•เซ‡ เชฌเชขเชคเซ€ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.
  4. เช•เซเชฒเชพเชฏเชจเซเชŸ B เช เชœ เชธเช‚เชธเชพเชงเชจ เชชเชฐ เชฒเซ‰เช• เชฎเซ‡เชณเชตเซ‡ เช›เซ‡ เชœเซ‡ A เช เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชฒเซ‰เช• เช•เชฐเซเชฏเซเช‚ เช›เซ‡. เชธเซเชฐเช•เซเชทเชพ เช‰เชฒเซเชฒเช‚เช˜เชจ!

เช•เซ‡เชŸเชฒเซ€เช•เชตเชพเชฐ เชคเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เช›เซ‡ เช•เซ‡ เช–เชพเชธ เชธเช‚เชœเซ‹เช—เซ‹เชฎเชพเช‚, เชœเซ‡เชฎ เช•เซ‡ เชจเชฟเชทเซเชซเชณเชคเชพ, เช˜เชฃเชพ เช—เซเชฐเชพเชนเช•เซ‹ เชเช• เชœ เชธเชฎเชฏเซ‡ เชฒเซ‹เช•เชจเซ‡ เชชเช•เชกเซ€ เชถเช•เซ‡ เช›เซ‡. เช†เชตเชพ เช•เชฟเชธเซเชธเชพเช“เชฎเชพเช‚, เชชเซเชฐเชคเชฟเช•เซƒเชคเชฟ เช†เชงเชพเชฐเชฟเชค เช‰เช•เซ‡เชฒ เชฒเชพเช—เซ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชจเชนเชฟเช‚เชคเชฐ, เช…เชฎเซ‡ เช† เชฒเซ‡เช–เชฎเชพเช‚ เชตเชฐเซเชฃเชตเซ‡เชฒ เช‰เช•เซ‡เชฒเชจเซ€ เชญเชฒเชพเชฎเชฃ เช•เชฐเซ€เช เช›เซ€เช.

เชเช• เชœ เช‰เชฆเชพเชนเชฐเชฃ เชธเชพเชฅเซ‡ เชฏเซ‹เช—เซเชฏ เช…เชฎเชฒเซ€เช•เชฐเชฃ

เช‰เชชเชฐ เชตเชฐเซเชฃเชตเซ‡เชฒ เชธเชฟเช‚เช—เชฒ-เช‡เชจเซเชธเซเชŸเชจเซเชธ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเชจเซ€ เช–เชพเชฎเซ€เช“เชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเชคเชพ เชชเชนเซ‡เชฒเชพ, เชšเชพเชฒเซ‹ เชธเชฎเชœเซ€เช เช•เซ‡ เช† เชธเชฐเชณ เช•เซ‡เชธเชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เชนเซ‡เชจเซเชกเชฒ เช•เชฐเชตเซเช‚, เช•เชพเชฐเชฃ เช•เซ‡ เช† เชธเซ‹เชฒเซเชฏเซเชถเชจ เชตเชพเชธเซเชคเชตเชฎเชพเช‚ เชเชชเซเชฒเซ€เช•เซ‡เชถเชจเชฎเชพเช‚ เชฎเชพเชจเซเชฏ เช›เซ‡ เชœเซเชฏเชพเช‚ เชฐเซ‡เชธเชจเซ€ เชธเซเชฅเชฟเชคเชฟ เชธเชฎเชฏเชพเช‚เชคเชฐเซ‡ เชธเซเชตเซ€เช•เชพเชฐเซเชฏ เชนเซ‹เชฏ เช›เซ‡, เช…เชจเซ‡ เช เชชเชฃ เช•เชพเชฐเชฃ เช•เซ‡ เชฌเซเชฒเซ‹เช•เชฟเช‚เช— เชธเชฟเช‚เช—เชฒ เช‡เชจเซเชธเซเชŸเชจเซเชธ เช เช†เชงเชพเชฐ เชคเชฐเซ€เช•เซ‡ เชธเซ‡เชตเชพ เช†เชชเซ‡ เช›เซ‡ เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช…เชนเซ€เช‚ เชตเชฐเซเชฃเชตเซ‡เชฒ เชตเชฟเชคเชฐเชฟเชค เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชฎเชพเช‚ เชฅเชพเชฏ เช›เซ‡.

เชฒเซ‹เช• เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡, เช† เช•เชฐเซ‹:

SET resource_name my_random_value NX PX 30000

เช† เช†เชฆเซ‡เชถ เช•เซ€ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡ เช›เซ‡ เชœเซ‹ เชคเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เชจ เชนเซ‹เชฏ (NX เชตเชฟเช•เชฒเซเชช), 30000 เชฎเชฟเชฒเชฟเชธเซ‡เช•เชจเซเชกเซเชธ (PX เชตเชฟเช•เชฒเซเชช) เชจเซ€ เชฎเชพเชจเซเชฏเชคเชพ เช…เชตเชงเชฟ เชธเชพเชฅเซ‡. เช•เซ€ " เชชเชฐ เชธเซ‡เชŸ เช•เชฐเซ‡เชฒ เช›เซ‡myrandomvalue" เช† เชฎเซ‚เชฒเซเชฏ เชฌเชงเชพ เช•เซเชฒเชพเชฏเชจเซเชŸเซเชธ เช…เชจเซ‡ เชคเชฎเชพเชฎ เชฒเซ‹เช• เชตเชฟเชจเช‚เชคเซ€เช“เชฎเชพเช‚ เช…เชจเชจเซเชฏ เชนเซ‹เชตเซเช‚ เช†เชตเชถเซเชฏเช• เช›เซ‡.
เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡, เชฐเซ‡เชจเซเชกเชฎ เชตเซ‡เชฒเซเชฏเซเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฒเซ‹เช•เชจเซ‡ เชธเซเชฐเช•เซเชทเชฟเชค เชฐเซ€เชคเซ‡ เชฐเซ€เชฒเซ€เช เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡, เชœเซ‡เชฎเชพเช‚ Redis เชจเซ‡ เช•เชนเซ‡เชคเซ€ เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชนเซ‹เชฏ เช›เซ‡: เชœเซ‹ เชคเซ‡ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เชนเซ‹เชฏ เชคเซ‹ เชœ เชคเซ‡เชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเซ‹ เช…เชจเซ‡ เชคเซ‡เชฎเชพเช‚ เชธเช‚เช—เซเชฐเชนเชฟเชค เชฎเซ‚เชฒเซเชฏ เช…เชชเซ‡เช•เซเชทเชพ เชฎเซเชœเชฌ เชœ เช›เซ‡. เช† เชจเซ€เชšเซ‡เชจเซ€ เชฒเซเช† เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชชเซเชฐเชพเชชเซเชค เชฅเชพเชฏ เช›เซ‡:

if redis.call("get",KEYS[1]) == ARGV[1] then
    return redis.call("del",KEYS[1])
else
    return 0
end

เช…เชจเซเชฏ เช•เซเชฒเชพเชฏเช‚เชŸ เชฆเซเชตเชพเชฐเชพ เชฐเชพเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ‡เชฒ เชฒเซ‹เช•เชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชคเชพ เช…เชŸเช•เชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช† เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช•เซเชฒเชพเชฏเชจเซเชŸ เชฒเซ‰เช• เชฎเซ‡เชณเชตเซ€ เชถเช•เซ‡ เช›เซ‡, เชชเช›เซ€ เช…เชฎเซเช• เช‘เชชเชฐเซ‡เชถเชจเชฎเชพเช‚ เชฒเซ‰เช• เชฅเชˆ เชถเช•เซ‡ เช›เซ‡ เชœเซ‡ เชชเซเชฐเชฅเชฎ เชฒเซ‰เช• เช•เชฐเชคเชพเช‚ เชตเชงเซ เชธเชฎเชฏ เชธเซเชงเซ€ เชšเชพเชฒเซ‡ เช›เซ‡ (เชœเซ‡เชฅเซ€ เช•เซ€เชจเซ‹ เชธเชฎเชฏ เชธเชฎเชพเชชเซเชค เชฅเชตเชพเชจเซ‹ เชธเชฎเชฏ เชนเซ‹เชฏ เช›เซ‡), เช…เชจเซ‡ เชชเช›เซ€เชฅเซ€ เช…เชจเซเชฏ เช•เซเชฒเชพเชฏเชจเซเชŸเซ‡ เชฎเซ‚เช•เซ‡เชฒเชพ เชฒเซ‰เช•เชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡.
เชธเชฐเชณ DEL เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เช…เชธเซเชฐเช•เซเชทเชฟเชค เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เช•เซเชฒเชพเชฏเช‚เชŸ เชฌเซ€เชœเชพ เช•เซเชฒเชพเชฏเชจเซเชŸ เชฆเซเชตเชพเชฐเชพ เชฐเชพเช–เซ‡เชฒ เชฒเซ‹เช•เชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. เชคเซ‡เชจเชพเชฅเซ€ เชตเชฟเชชเชฐเชฟเชค, เช‰เชชเชฐเซ‹เช•เซเชค เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชฆเชฐเซ‡เช• เชฒเซ‰เช• เชฐเซ‡เชจเซเชกเชฎ เชธเซเชŸเซเชฐเชฟเช‚เช— เชธเชพเชฅเซ‡ "เชธเชนเซ€ เช•เชฐเซ‡เชฒ" เช›เซ‡, เชคเซ‡เชฅเซ€ เชซเช•เซเชค เชคเซ‡ เช•เซเชฒเชพเชฏเชจเซเชŸ เชœเซ‡เชฃเซ‡ เชคเซ‡เชจเซ‡ เช…เช—เชพเช‰ เชฎเซ‚เช•เซเชฏเซเช‚ เชนเชคเซเช‚ เชคเซ‡ เชคเซ‡เชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡.

เช† เชฐเซ‡เชจเซเชกเชฎ เชธเซเชŸเซเชฐเชฟเช‚เช— เชถเซเช‚ เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช? เชนเซเช‚ เชงเชพเชฐเซ€ เชฐเชนเซเชฏเซ‹ เช›เซเช‚ เช•เซ‡ เชคเซ‡ /dev/urandom เชฅเซ€ 20 เชฌเชพเช‡เชŸเซเชธ เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช, เชชเชฐเช‚เชคเซ เชคเชฎเซ‡ เชคเชฎเชพเชฐเชพ เชนเซ‡เชคเซเช“ เชฎเชพเชŸเซ‡ เชถเชฌเซเชฆเชฎเชพเชณเชพเชจเซ‡ เชชเชฐเซเชฏเชพเชชเซเชค เช…เชจเชจเซเชฏ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช“เช›เชพ เช–เชฐเซเชšเชพเชณ เชฐเชธเซเชคเชพเช“ เชถเซ‹เชงเซ€ เชถเช•เซ‹ เช›เซ‹. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, RC4 เชจเซ‡ /dev/urandom เชธเชพเชฅเซ‡ เชธเซ€เชก เช•เชฐเชตเซเช‚ เช…เชจเซ‡ เชชเช›เซ€ เชคเซ‡เชฎเชพเช‚เชฅเซ€ เชธเซเชฏเซเชกเซ‹-เชฐเซ‡เชจเซเชกเชฎ เชธเซเชŸเซเชฐเซ€เชฎ เชœเชจเชฐเซ‡เชŸ เช•เชฐเชตเซเช‚ เชธเชพเชฐเซเช‚ เชฐเชนเซ‡เชถเซ‡. เชเช• เชธเชฐเชณ เช‰เช•เซ‡เชฒเชฎเชพเช‚ เชฎเชพเช‡เช•เซเชฐเซ‹เชธเซ‡เช•เชจเซเชก เชฐเชฟเชเซ‹เชฒเซเชฏเซเชถเชจ เชตเชคเซเชคเชพ เช•เซเชฒเชพเชฏเชจเซเชŸ IDเชฎเชพเช‚ เชฏเซเชจเชฟเช•เซเชธ เชธเชฎเชฏเชจเซเช‚ เชธเช‚เชฏเซ‹เชœเชจ เชธเชพเชฎเซ‡เชฒ เช›เซ‡; เชคเซ‡ เชเชŸเชฒเซเช‚ เชธเซเชฐเช•เซเชทเชฟเชค เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เชฎเซ‹เชŸเชพ เชญเชพเช—เชจเชพ เชธเช‚เชฆเชฐเซเชญเซ‹เชฎเชพเช‚ เชคเซ‡ เช•เชฆเชพเชš เช•เชพเชฐเซเชฏ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช›เซ‡.

เชšเชพเชตเซ€เชจเชพ เชœเซ€เชตเชจเช•เชพเชณเชจเชพ เชฎเชพเชช เชคเชฐเซ€เช•เซ‡ เช†เชชเชฃเซ‡ เชœเซ‡ เชธเชฎเชฏเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช เชคเซ‡เชจเซ‡ "เชฒเซ‹เช• เชœเซ€เชตเชจเช•เชพเชณ" เช•เชนเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช† เชฎเซ‚เชฒเซเชฏ, เชฒเซ‹เช• เช†เชชเชฎเซ‡เชณเซ‡ เชฐเซ€เชฒเซ€เช เชฅเชพเชฏ เชคเซ‡ เชชเชนเซ‡เชฒเชพเชจเซ‹ เชธเชฎเชฏ เช…เชจเซ‡ เช…เชจเซเชฏ เช•เซเชฒเชพเชฏเช‚เชŸ เชคเซ‡ เชธเช‚เชธเชพเชงเชจเชจเซ‡ เชฒเซ‹เช• เช•เชฐเซ€ เชถเช•เซ‡ เชคเซ‡ เชชเชนเซ‡เชฒเชพเช‚ เช•เซเชฒเชพเชฏเช‚เชŸเชจเซ‡ เช“เชชเชฐเซ‡เชถเชจ เชชเซ‚เชฐเซเชฃ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡เชจเซ‹ เชธเชฎเชฏ เชฌเช‚เชจเซ‡ เช›เซ‡, เชตเชพเชธเซเชคเชตเชฎเชพเช‚ เชชเชฐเชธเซเชชเชฐ เชฌเชพเช•เชพเชคเชจเซ€ เชฌเชพเช‚เชฏเชงเชฐเซ€เชจเซเช‚ เช‰เชฒเซเชฒเช‚เช˜เชจ เช•เชฐเซเชฏเชพ เชตเชฟเชจเชพ. เช† เช—เซ‡เชฐเซ‡เช‚เชŸเซ€ เชฎเชพเชคเซเชฐ เช…เชฎเซเช• เชšเซ‹เช•เซเช•เชธ เชธเชฎเชฏ เชธเซเชงเซ€ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช›เซ‡, เชœเซ‡ เชฒเซ‰เช• เช–เชฐเซ€เชฆเชตเชพเชจเซ€ เช•เซเชทเชฃเชฅเซ€ เชถเชฐเซ‚ เชฅเชพเชฏ เช›เซ‡.

เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ เชฒเซ‹เช• เชนเชธเซเชคเช—เชค เช•เชฐเชตเชพ เช…เชจเซ‡ เช›เซ‹เชกเชตเชพเชจเซ€ เชธเชพเชฐเซ€ เชฐเซ€เชคเชจเซ€ เชšเชฐเซเชšเชพ เช•เชฐเซ€ เช›เซ‡. เชธเชฟเชธเซเชŸเชฎ (เชœเซ‹ เช†เชชเชฃเซ‡ เชฌเชฟเชจ-เชตเชฟเชคเชฐเชฟเชค เชธเชฟเชธเซเชŸเชฎ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช เชœเซ‡เชฎเชพเช‚ เชธเชฟเช‚เช—เชฒ เช…เชจเซ‡ เชนเช‚เชฎเซ‡เชถเชพ เช‰เชชเชฒเชฌเซเชง เช›เซ‡) เชธเซเชฐเช•เซเชทเชฟเชค เช›เซ‡. เชšเชพเชฒเซ‹ เช† เช–เซเชฏเชพเชฒเชจเซ‡ เชตเชฟเชคเชฐเชฟเชค เชธเชฟเชธเซเชŸเชฎ เชธเซเชงเซ€ เชตเชฟเชธเซเชคเชพเชฐเซ€เช, เชœเซเชฏเชพเช‚ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช†เชตเซ€ เช•เซ‹เชˆ เช—เซ‡เชฐเช‚เชŸเซ€ เชจเชฅเซ€.

เชฐเซ‡เชกเชฒเซ‹เช• เชเชฒเซเช—เซ‹เชฐเชฟเชงเชฎ

เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชจเซเช‚ เชตเชฟเชคเชฐเชฟเชค เชธเช‚เชธเซเช•เชฐเชฃ เชงเชพเชฐเซ‡ เช›เซ‡ เช•เซ‡ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ N Redis เชฎเชพเชธเซเชŸเชฐเซเชธ เช›เซ‡. เช† เช—เชพเช‚เช เซ‹ เชเช•เชฌเซ€เชœเชพเชฅเซ€ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชธเซเชตเชคเช‚เชคเซเชฐ เช›เซ‡, เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ เชชเซเชฐเชคเชฟเช•เซƒเชคเชฟ เช…เชฅเชตเชพ เช…เชจเซเชฏ เช•เซ‹เชˆเชชเชฃ เช—เชฐเซเชญเชฟเชค เชธเช‚เช•เชฒเชจ เชชเซเชฐเชฃเชพเชฒเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเชพ เชจเชฅเซ€. เช…เชฎเซ‡ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เชœ เช†เชตเชฐเซ€ เชฒเซ€เชงเซเช‚ เช›เซ‡ เช•เซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชธเซเชฐเช•เซเชทเชฟเชค เชฐเซ€เชคเซ‡ เชเช• เชœ เช‡เชจเซเชธเซเชŸเชจเซเชธ เชชเชฐ เชฒเซ‰เช• เชฎเซ‡เชณเชตเชตเซเช‚ เช…เชจเซ‡ เชฐเชฟเชฒเซ€เช เช•เชฐเชตเซเช‚. เช…เชฎเซ‡ เชคเซ‡เชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเชˆเช เช›เซ€เช เช•เซ‡ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ, เชœเซเชฏเชพเชฐเซ‡ เชเช• เชœ เช‰เชฆเชพเชนเชฐเชฃ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เช† เชชเชฆเซเชงเชคเชฟเชจเซ‹ เชฌเชฐเชพเชฌเชฐ เช‰เชชเชฏเซ‹เช— เช•เชฐเชถเซ‡. เช…เชฎเชพเชฐเชพ เช‰เชฆเชพเชนเชฐเชฃเซ‹เชฎเชพเช‚ เช…เชฎเซ‡ N เชจเซ‡ 5 เชชเชฐ เชธเซ‡เชŸ เช•เชฐเซ€เช เช›เซ€เช, เชœเซ‡ เชตเชพเชœเชฌเซ€ เชฎเซ‚เชฒเซเชฏ เช›เซ‡. เช†เชฎ, เช…เชฎเชพเชฐเซ‡ เชตเชฟเชตเชฟเชง เช•เชฎเซเชชเซเชฏเซเชŸเชฐเซเชธ เช…เชฅเชตเชพ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเชถเซ€เชจเซ‹ เชชเชฐ 5 เชฐเซ‡เชกเชฟเชธ เชฎเชพเชธเซเชŸเชฐเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเชถเซ‡ เชœเซ‡เชฅเซ€ เชคเซ‡เช“ เชเช•เชฌเซ€เชœเชพเชฅเซ€ เชฎเซ‹เชŸเชพเชญเชพเช—เซ‡ เชธเซเชตเชคเช‚เชคเซเชฐ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡.

เชฒเซ‹เช• เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡, เช•เซเชฒเชพเชฏเช‚เชŸ เชจเซ€เชšเซ‡เชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€ เช•เชฐเซ‡ เช›เซ‡:

  1. เชตเชฐเซเชคเชฎเชพเชจ เชธเชฎเชฏ เชฎเชฟเชฒเชฟเชธเซ‡เช•เช‚เชกเชฎเชพเช‚ เชฎเซ‡เชณเชตเซ‡ เช›เซ‡.
  2. เชคเชฎเชพเชฎ เช•เซ‡เชธเซ‹เชฎเชพเช‚ เชธเชฎเชพเชจ เช•เซ€ เชจเชพเชฎ เช…เชจเซ‡ เชฐเซ‡เชจเซเชกเชฎ เชตเซ‡เชฒเซเชฏเซเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, เชคเชฎเชพเชฎ N เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชชเชฐ เชฒเซ‰เช• เชฎเซ‡เชณเชตเชตเชพเชจเซ‹ เช•เซเชฐเชฎเชฟเช• เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ‡ เช›เซ‡. เชธเซเชŸเซ‡เชœ 2 เชฎเชพเช‚, เชœเซเชฏเชพเชฐเซ‡ เช•เซเชฒเชพเชฏเช‚เชŸ เชชเซเชฐเชคเชฟ-เช‡เชจเซเชธเซเชŸเชจเซเชธ เชงเซ‹เชฐเชฃเซ‡ เชฒเซ‹เช• เชธเซ‡เชŸ เช•เชฐเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เช•เซเชฒเชพเชฏเช‚เชŸ เชคเซ‡เชจเซ‡ เชนเชธเซเชคเช—เชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเชฟเชฒเช‚เชฌเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡ เชฒเซ‹เช• เช†เชชเซ‹เช†เชช เชฐเซ€เชฒเซ€เช เชฅเชพเชฏ เชคเซ‡ เชธเชฎเชฏเชจเซ€ เชคเซเชฒเชจเชพเชฎเชพเช‚ เชชเซ‚เชฐเชคเซ‹ เช“เช›เซ‹ เชนเซ‹เชฏ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชœเซ‹ เช…เชตเชฐเซ‹เชงเชฟเชค เช•เชฐเชตเชพเชจเซ€ เช…เชตเชงเชฟ 10 เชธเซ‡เช•เชจเซเชก เช›เซ‡, เชคเซ‹ เชตเชฟเชฒเช‚เชฌ ~5-50 เชฎเชฟเชฒเชฟเชธเซ‡เช•เชจเซเชกเชจเซ€ เชฐเซ‡เชจเซเชœเชฎเชพเช‚ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡. เช† เชคเซ‡ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชจเซ‡ เชฆเซ‚เชฐ เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡เชฎเชพเช‚ เช•เซเชฒเชพเชฏเช‚เชŸ เชจเชฟเชทเซเชซเชณ เชฐเซ‡เชกเชฟเชธ เชจเซ‹เชก เชธเซเชงเซ€ เชชเชนเซ‹เช‚เชšเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€ เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏ เชธเซเชงเซ€ เช…เชตเชฐเซ‹เชงเชฟเชค เชฐเชนเซ€ เชถเช•เซ‡ เช›เซ‡: เชœเซ‹ เชฆเชพเช–เชฒเซ‹ เช…เชจเซเชชเชฒเชฌเซเชง เชนเซ‹เชฏ, เชคเซ‹ เช…เชฎเซ‡ เชถเช•เซเชฏ เชคเซ‡เชŸเชฒเซ€ เชตเชนเซ‡เชฒเซ€ เชคเช•เซ‡ เช…เชจเซเชฏ เช‰เชฆเชพเชนเชฐเชฃ เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€เช เช›เซ€เช.
  3. เชฒเซ‰เช• เชฒเซ‡เชตเชพ เชฎเชพเชŸเซ‡, เช•เซเชฒเชพเชฏเช‚เชŸ เช—เชฃเชคเชฐเซ€ เช•เชฐเซ‡ เช›เซ‡ เช•เซ‡ เช•เซ‡เชŸเชฒเซ‹ เชธเชฎเชฏ เชตเซ€เชคเซ€ เช—เชฏเซ‹ เช›เซ‡; เช† เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเซ‡ เชธเซเชŸเซ‡เชช 1 เชฎเชพเช‚ เชฎเซ‡เชณเชตเซ‡เชฒ เชŸเชพเช‡เชฎเชธเซเชŸเซ‡เชฎเซเชชเชจเชพ เชตเชพเชธเซเชคเชตเชฟเช• เชธเชฎเชฏ เชฎเซ‚เชฒเซเชฏเชฎเชพเช‚เชฅเซ€ เชฌเชพเชฆเชฌเชพเช•เซ€ เช•เชฐเซ‡ เช›เซ‡. เชœเซ‹ เช…เชจเซ‡ เชฎเชพเชคเซเชฐ เชœเซ‹ เช•เซเชฒเชพเชฏเช‚เชŸ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ€ เช˜เชŸเชจเชพเช“ (เช“เช›เชพเชฎเชพเช‚ เช“เช›เชพ 3) เชชเชฐ เชฒเซ‰เช• เชฎเซ‡เชณเชตเชตเชพเชฎเชพเช‚ เชธเช•เซเชทเชฎ เชนเซ‹เชฏ, เช…เชจเซ‡ เชคเซ‡เชฎเชพเช‚ เช•เซเชฒ เช•เซ‡เชŸเชฒเซ‹ เชธเชฎเชฏ เชฒเชพเช—เซเชฏเซ‹ เชนเซ‹เชฏ เชฒเซ‰เช• เชฎเซ‡เชณเชตเซ‹, เชฒเซ‰เช•เชจเซ€ เช…เชตเชงเชฟ เช•เชฐเชคเชพเช‚ เช“เช›เซ€, เชฒเซ‰เช• เชฎเซ‡เชณเชตเซ‡เชฒ เชนเซ‹เชตเชพเชจเซเช‚ เชฎเชพเชจเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.
  4. เชœเซ‹ เชฒเซ‰เช• เชนเชธเซเชคเช—เชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเซ‹เชฏ, เชคเซ‹ เชฒเซ‰เช•เชจเซ‹ เชธเชฎเชฏเช—เชพเชณเซ‹ เชธเซเชŸเซ‡เชช 3 เชฎเชพเช‚ เช—เชฃเชคเชฐเซ€ เช•เชฐเซ‡เชฒ เชตเซ€เชคเซ‡เชฒเชพ เชธเชฎเชฏเชจเซ‡ เชฌเชพเชฆ เช•เชฐเชคเชพเช‚ เชฎเซ‚เชณ เชฒเซ‹เช• เชธเชฎเชฏเช—เชพเชณเซ‹ เชฎเชพเชจเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.
  5. เชœเซ‹ เช•เซเชฒเชพเชฏเช‚เชŸ เช•เซ‹เชˆ เช•เชพเชฐเชฃเชธเชฐ เชฒเซ‹เช• เชฎเซ‡เชณเชตเชตเชพเชฎเชพเช‚ เชจเชฟเชทเซเชซเชณ เชœเชพเชฏ (เช•เชพเช‚ เชคเซ‹ เชคเซ‡ N/2+1 เชฆเชพเช–เชฒเชพเช“เชจเซ‡ เชฒเซ‹เช• เช•เชฐเชตเชพเชฎเชพเช‚ เช…เชธเชฎเชฐเซเชฅ เชนเชคเซเช‚, เช…เชฅเชตเชพ เชฒเซ‰เช•เชจเซ‹ เชธเชฎเชฏเช—เชพเชณเซ‹ เชจเช•เชพเชฐเชพเชคเซเชฎเช• เชนเชคเซ‹), เชคเซ‹ เชคเซ‡ เชคเชฎเชพเชฎ เช‰เชฆเชพเชนเชฐเชฃเซ‹เชจเซ‡ เช…เชจเชฒเซ‰เช• เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเชถเซ‡ (เชœเซ‡เชจเซ‡ เชคเซ‡เชฃเซ‡ เชตเชฟเชšเชพเชฐเซเชฏเซเช‚ เชนเชคเซเช‚ เช•เซ‡ เชคเซ‡ เช…เชตเชฐเซ‹เชงเชฟเชค เช•เชฐเซ€ เชถเช•เชคเซเช‚ เชจเชฅเซ€. ).

เชถเซเช‚ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เช…เชธเซเชฎเซ‡เชณ เช›เซ‡?

เช† เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เช เชงเชพเชฐเชฃเชพ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช›เซ‡ เช•เซ‡, เชœเซ‹ เช•เซ‡ เชคเซเชฏเชพเช‚ เช•เซ‹เชˆ เชธเชฟเช‚เช•เซเชฐเชจเชพเช‡เชเซเชก เช˜เชกเชฟเชฏเชพเชณ เชจเชฅเซ€ เช•เซ‡ เชœเซ‡เชจเชพ เชชเชฐ เชฌเชงเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ เช•เชพเชฎ เช•เชฐเชถเซ‡, เชฆเชฐเซ‡เช• เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚ เชธเซเชฅเชพเชจเชฟเช• เชธเชฎเชฏ เชนเชœเซ เชชเชฃ เชฒเช—เชญเช— เชธเชฎเชพเชจ เช—เชคเชฟเช เชตเชนเซ‡ เช›เซ‡, เช…เชจเซ‡ เช•เซเชฒ เชธเชฎเชฏเชจเซ€ เชธเชฐเช–เชพเชฎเชฃเซ€เชฎเชพเช‚ เชญเซ‚เชฒ เชจเชพเชจเซ€ เช›เซ‡ เชœเซ‡ เชชเช›เซ€ เชฒเซ‹เช• เช›เซ‡. เช†เชชเซ‹เช†เชช เชชเซเชฐเช•เชพเชถเชฟเชค. เช† เชงเชพเชฐเชฃเชพ เชธเชพเชฎเชพเชจเซเชฏ เช•เซ‹เชฎเซเชชเซเชฏเซเชŸเชฐเซ‹ เชฎเชพเชŸเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟ เชœเซ‡เชตเซ€ เชœ เช›เซ‡: เชฆเชฐเซ‡เช• เช•เซ‹เชฎเซเชชเซเชฏเซเชŸเชฐเชฎเชพเช‚ เชธเซเชฅเชพเชจเชฟเช• เช˜เชกเชฟเชฏเชพเชณ เชนเซ‹เชฏ เช›เซ‡, เช…เชจเซ‡ เช†เชชเชฃเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เช เชนเช•เซ€เช•เชค เชชเชฐ เชตเชฟเชถเซเชตเชพเชธ เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช เช•เซ‡ เชตเชฟเชตเชฟเชง เช•เชฎเซเชชเซเชฏเซเชŸเชฐเซเชธ เชตเชšเซเชšเซ‡เชจเซ‹ เชธเชฎเชฏเชจเซ‹ เชคเชซเชพเชตเชค เชจเชพเชจเซ‹ เช›เซ‡.

เช† เชฌเชฟเช‚เชฆเซเช, เช†เชชเชฃเซ‡ เช…เชฎเชพเชฐเซ‹ เชชเชฐเชธเซเชชเชฐ เชฌเชพเช•เชพเชค เชฐเชพเช–เชตเชพเชจเซ‹ เชจเชฟเชฏเชฎ เชตเชงเซ เช•เชพเชณเชœเซ€เชชเซ‚เชฐเซเชตเช• เช˜เชกเชตเซ‹ เชœเซ‹เชˆเช: เชชเชฐเชธเซเชชเชฐ เชฌเชพเช•เชพเชคเชจเซ€ เช–เชพเชคเชฐเซ€ เชคเซเชฏเชพเชฐเซ‡ เชœ เช†เชชเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชœเซ‹ เชฒเซ‹เช• เชฎเชพเชจเซเชฏ เชนเซ‹เชฏ เชคเซ‡ เชธเชฎเชฏ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชฒเซ‰เช• เชงเชฐเชพเชตเชคเซ‹ เช•เซเชฒเชพเชฏเช‚เชŸ เชฌเชนเชพเชฐ เชจเซ€เช•เชณเซ€ เชœเชพเชฏ (เช† เชฎเซ‚เชฒเซเชฏ เชชเช—เชฒเซเช‚ 3 เชฎเชพเช‚ เชฎเซ‡เชณเชตเซ‡เชฒ เช›เซ‡), เชฅเซ‹เชกเซ‹ เชตเชงเซ เชธเชฎเชฏ เชฌเชพเชฆ เช•เชฐเซ‹ (เช•เซเชฒ เชฅเซ‹เชกเชพ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ เชตเชšเซเชšเซ‡เชจเชพ เชธเชฎเชฏเชจเชพ เชคเชซเชพเชตเชคเชจเซ€ เชญเชฐเชชเชพเชˆ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฎเชฟเชฒเชฟเชธเซ‡เช•เชจเซเชก).

เชจเซ€เชšเซ‡เชจเซ‹ เชฐเชธเชชเซเชฐเชฆ เชฒเซ‡เช– เช†เชตเซ€ เชธเชฟเชธเซเชŸเชฎเซ‹ เชตเชฟเชถเซ‡ เชตเชงเซ เชœเชฃเชพเชตเซ‡ เช›เซ‡ เชœเซ‡เชจเซ‡ เชธเชฎเชฏ เช…เช‚เชคเชฐเชพเชฒเซ‹เชจเชพ เชธเช‚เช•เชฒเชจเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เช›เซ‡: เชฒเซ€เช: เชตเชฟเชคเชฐเชฟเชค เชซเชพเช‡เชฒ เช•เซ‡เชถ เชธเซเชธเช‚เช—เชคเชคเชพ เชฎเชพเชŸเซ‡ เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เช–เชพเชฎเซ€-เชธเชนเชฟเชทเซเชฃเซ เชชเชฆเซเชงเชคเชฟ.

เชจเชฟเชทเซเชซเชณเชคเชพ เชชเชฐ เชซเชฐเซ€เชฅเซ€ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ‹

เชœเซเชฏเชพเชฐเซ‡ เช•เซเชฒเชพเชฏเช‚เชŸ เชฒเซ‰เช• เชฎเซ‡เชณเชตเชตเชพเชฎเชพเช‚ เชจเชฟเชทเซเชซเชณ เชœเชพเชฏ, เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡เชฃเซ‡ เชฐเซ‡เชจเซเชกเชฎ เชตเชฟเชฒเช‚เชฌ เชชเช›เซ€ เชซเชฐเซ€ เชชเซเชฐเชฏเชพเชธ เช•เชฐเชตเซ‹ เชœเซ‹เชˆเช; เช† เชเช• เชœ เชธเชฎเชฏเซ‡ เชเช• เชœ เชธเช‚เชธเชพเชงเชจ เชชเชฐ เชฒเซ‰เช• เชฎเซ‡เชณเชตเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเชคเชพ เชฌเชนเซเชตเชฟเชง เช•เซเชฒเชพเชฏเชจเซเชŸเซเชธเชจเซ‡ เชกเชฟ-เชธเชฟเช‚เช•เซเชฐเซ‹เชจเชพเช‡เช เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ (เชœเซ‡ "เชธเซเชชเซเชฒเชฟเชŸ-เชฌเซเชฐเซ‡เช‡เชจ" เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟ เชคเชฐเชซ เชฆเซ‹เชฐเซ€ เชถเช•เซ‡ เช›เซ‡ เชœเซ‡เชฎเชพเช‚ เช•เซ‹เชˆ เชตเชฟเชœเซ‡เชคเชพ เชจเชฅเซ€). เชตเชงเซเชฎเชพเช‚, เช•เซเชฒเชพเชฏเชจเซเชŸ เชœเซ‡เชŸเชฒเซ‹ เชเชกเชชเชฅเซ€ เชฐเซ‡เชกเชฟเชธเชจเชพ เชฎเซ‹เชŸเชพ เชญเชพเช—เชจเชพ เชฆเชพเช–เชฒเชพเช“ เชชเชฐ เชฒเซ‰เช• เชฎเซ‡เชณเชตเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ‡ เช›เซ‡, เชคเซ‡เชŸเชฒเซ€ เชœ เชตเชฟเชจเซเชกเซ‹ เชธเชพเช‚เช•เชกเซ€ เชฅเชพเชฏ เช›เซ‡ เชœเซ‡เชฎเชพเช‚ เชธเซเชชเซเชฒเชฟเชŸ-เชฌเซเชฐเซ‡เชˆเชจ เชธเชฟเชšเซเชฏเซเชเชถเชจ เช†เชตเซ€ เชถเช•เซ‡ เช›เซ‡ (เช…เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชชเซเชฐเชฏเชพเชธ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช“เช›เซ€ เชนเชถเซ‡). เชคเซ‡เชฅเซ€, เช†เชฆเชฐเซเชถ เชฐเซ€เชคเซ‡, เช•เซเชฒเชพเชฏเชจเซเชŸเซ‡ เชฎเชฒเซเชŸเชฟเชชเซเชฒเซ‡เช•เซเชธเชฟเช‚เช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชเช• เชธเชพเชฅเซ‡ N เชฆเชพเช–เชฒเชพเช“ เชชเชฐ SET เช†เชฆเซ‡เชถเซ‹ เชฎเซ‹เช•เชฒเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเชตเซ‹ เชœเซ‹เชˆเช.

เช…เชนเซ€เช‚ เช เชตเชพเชค เชชเชฐ เชญเชพเชฐ เชฎเซ‚เช•เชตเซ‹ เชฏเซ‹เช—เซเชฏ เช›เซ‡ เช•เซ‡ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ เชคเชพเชณเชพเช“ เชฎเซ‡เชณเชตเชตเชพเชฎเชพเช‚ เชจเชฟเชทเซเชซเชณ เชฐเชนเซ‡เชฒเชพ เช•เซเชฒเชพเชฏเชจเซเชŸเซเชธ เชฎเชพเชŸเซ‡ (เช†เช‚เชถเชฟเช• เชฐเซ€เชคเซ‡) เชนเชธเซเชคเช—เชค เช•เชฐเซ‡เชฒเชพ เชคเชพเชณเชพเช“ เช›เซ‹เชกเชตเชพ เชฎเชพเชŸเซ‡ เชคเซ‡ เช•เซ‡เชŸเชฒเซเช‚ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช›เซ‡, เชœเซ‡เชฅเซ€ เชคเซ‡เช“เชจเซ‡ เชธเช‚เชธเชพเชงเชจ เชชเชฐเชจเชพ เชคเชพเชณเชพเชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชนเชธเซเชคเช—เชค เช•เชฐเซ€ เชถเช•เชพเชฏ เชคเซ‡ เชชเชนเซ‡เชฒเชพเช‚ เชšเชพเชตเซ€ เชธเชฎเชพเชชเซเชค เชฅเชตเชพเชจเซ€ เชฐเชพเชน เชœเซ‹เชตเซ€ เชจ เชชเชกเซ‡. (เชœเซ‹ เช•เซ‡ เชœเซ‹ เชจเซ‡เชŸเชตเชฐเซเช• เชซเซเชฐเซ‡เช—เชฎเซ‡เชจเซเชŸเซ‡เชถเชจ เชฅเชพเชฏ เช›เซ‡, เช…เชจเซ‡ เช•เซเชฒเชพเชฏเชจเซเชŸ Redis เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชธเชพเชฅเซ‡ เชธเช‚เชชเชฐเซเช• เช—เซเชฎเชพเชตเซ‡ เช›เซ‡, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ เช•เซ€เชจเซ€ เชธเชฎเชพเชชเซเชคเชฟเชจเซ€ เชฐเชพเชน เชœเซ‹เชคเซ€ เชตเช–เชคเซ‡ เช‰เชชเชฒเชฌเซเชงเชคเชพ เชฆเช‚เชก เชšเซ‚เช•เชตเชตเซ‹ เชชเชกเชถเซ‡).

เชคเชพเชณเซเช‚ เช›เซ‹เชกเซ‹

เชฒเซ‰เช• เชฐเซ€เชฒเซ€เช เช•เชฐเชตเซเช‚ เช เชเช• เชธเชฐเชณ เช‘เชชเชฐเซ‡เชถเชจ เช›เซ‡ เชœเซ‡เชฎเชพเช‚ เช•เซเชฒเชพเชฏเชจเซเชŸเซ‡ เช•เซ‹เชˆ เชšเซ‹เช•เซเช•เชธ เช‡เชจเซเชธเซเชŸเชจเซเชธ เชธเชซเชณเชคเชพเชชเซ‚เชฐเซเชตเช• เชฒเซ‰เช• เช•เชฐเซเชฏเซเช‚ เชนเซ‹เชฏ เชเชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เช•เซ‡เชฎ เชคเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ€เชงเชพ เชตเชฟเชจเชพ, เชคเชฎเชพเชฎ เช‰เชฆเชพเชนเชฐเชฃเซ‹เชจเซ‡ เช…เชจเชฒเซ‰เช• เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡.

เชธเซเชฐเช•เซเชทเชพ เชตเชฟเชšเชพเชฐเชฃเชพเช“

เชถเซเช‚ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชธเซเชฐเช•เซเชทเชฟเชค เช›เซ‡? เชšเชพเชฒเซ‹ เช•เชฒเซเชชเชจเชพ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€เช เช•เซ‡ เชตเชฟเชตเชฟเชง เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเช“เชฎเชพเช‚ เชถเซเช‚ เชฅเชพเชฏ เช›เซ‡.

เชถเชฐเซ‚ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชšเชพเชฒเซ‹ เชงเชพเชฐเซ€เช เช•เซ‡ เช•เซเชฒเชพเชฏเช‚เชŸ เชฎเซ‹เชŸเชพ เชญเชพเช—เชจเชพ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชชเชฐ เชฒเซ‹เช• เชฎเซ‡เชณเชตเชตเชพเชฎเชพเช‚ เชธเช•เซเชทเชฎ เชนเชคเซ‹. เชฆเชฐเซ‡เช• เชฆเชพเช–เชฒเชพเชฎเชพเช‚ เชฌเชงเชพ เชฎเชพเชŸเซ‡ เชธเชฎเชพเชจ เชœเซ€เชตเชจเช•เชพเชณ เชธเชพเชฅเซ‡เชจเซ€ เช•เซ€ เชนเชถเซ‡. เชœเซ‹ เช•เซ‡, เช† เชฆเชฐเซ‡เช• เช•เซ€ เช…เชฒเช—-เช…เชฒเช— เชธเชฎเชฏเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€, เชคเซ‡เชฅเซ€ เชคเซ‡เช“ เช…เชฒเช—-เช…เชฒเช— เชธเชฎเชฏเซ‡ เชธเชฎเชพเชชเซเชค เชฅเชถเซ‡. เชชเชฐเช‚เชคเซ, เชœเซ‹ เชชเซเชฐเชฅเชฎ เช•เซ€ T1 เช•เชฐเชคเชพ เช–เชฐเชพเชฌ เชจ เชนเซ‹เชฏ เชคเซ‡เชตเชพ เชธเชฎเชฏเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€ (เชœเซ‡ เชธเชฎเชฏ เช†เชชเชฃเซ‡ เชชเซเชฐเชฅเชฎ เชธเชฐเซเชตเชฐเชจเซ‹ เชธเช‚เชชเชฐเซเช• เช•เชฐเชคเชพ เชชเชนเซ‡เชฒเชพ เชชเชธเช‚เชฆ เช•เชฐเซ€เช เช›เซ€เช), เช…เชจเซ‡ เช›เซ‡เชฒเซเชฒเซ€ เช•เซ€ T2 เช•เชฐเชคเชพ เช–เชฐเชพเชฌ เชจ เชนเซ‹เชฏ เชคเซ‡เชตเชพ เชธเชฎเชฏเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€ (เชœเซ‡ เชธเชฎเชฏเซ‡ เชชเซเชฐเชคเชฟเชธเชพเชฆ เชฎเชณเซเชฏเซ‹ เชนเชคเซ‹. เช›เซ‡เชฒเซเชฒเชพ เชธเชฐเซเชตเชฐเชฅเซ€), เชคเซ‹ เช…เชฎเชจเซ‡ เชตเชฟเชถเซเชตเชพเชธ เช›เซ‡ เช•เซ‡ เชธเซ‡เชŸเชฎเชพเช‚เชจเซ€ เชชเซเชฐเชฅเชฎ เช•เซ€ เชœเซ‡ เชธเชฎเชพเชชเซเชค เชฅเชพเชฏ เช›เซ‡ เชคเซ‡ เช“เช›เชพเชฎเชพเช‚ เช“เช›เซ€ เชฌเชšเซ€ เชœเชถเซ‡ MIN_VALIDITY=TTL-(T2-T1)-CLOCK_DRIFT. เช…เชจเซเชฏ เชคเชฎเชพเชฎ เช•เซ€เช“ เชชเช›เซ€เชฅเซ€ เชธเชฎเชพเชชเซเชค เชฅเชถเซ‡, เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ เช–เชพเชคเชฐเซ€ เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช เช•เซ‡ เชคเชฎเชพเชฎ เช•เซ€ เชเช• เชธเชพเชฅเซ‡ เช“เช›เชพเชฎเชพเช‚ เช“เช›เชพ เช† เชธเชฎเชฏ เชฎเชพเชŸเซ‡ เชฎเชพเชจเซเชฏ เชฐเชนเซ‡เชถเซ‡.

เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ€ เชšเชพเชตเซ€เช“ เชฎเชพเชจเซเชฏ เชฐเชนเซ‡ เชคเซ‡ เชธเชฎเชฏ เชฆเชฐเชฎเชฟเชฏเชพเชจ, เช…เชจเซเชฏ เช•เซเชฒเชพเชฏเชจเซเชŸ เชฒเซ‹เช•เชจเซ‡ เชนเชธเซเชคเช—เชค เช•เชฐเซ€ เชถเช•เชถเซ‡ เชจเชนเซ€เช‚, เช•เชพเชฐเชฃ เช•เซ‡ N/2+1 SET NX เช‘เชชเชฐเซ‡เชถเชจเซเชธ เชธเชซเชณ เชฅเชˆ เชถเช•เชถเซ‡ เชจเชนเซ€เช‚ เชœเซ‹ N/2+1 เช•เซ€ เชชเชนเซ‡เชฒเซ‡เชฅเซ€ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เช›เซ‡. เชคเซ‡เชฅเซ€, เชเช•เชตเชพเชฐ เชฒเซ‹เช• เชนเชธเซเชคเช—เชค เช•เชฐเซ€ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡, เชคเซ‡ เชœ เช•เซเชทเชฃเซ‡ เชคเซ‡เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชนเชธเซเชคเช—เชค เช•เชฐเชตเซเช‚ เช…เชถเช•เซเชฏ เช›เซ‡ (เช† เชชเชฐเชธเซเชชเชฐ เชฌเชพเช•เชพเชค เชฎเชฟเชฒเช•เชคเชจเซเช‚ เช‰เชฒเซเชฒเช‚เช˜เชจ เช•เชฐเชถเซ‡).
เชœเซ‹ เช•เซ‡, เช…เชฎเซ‡ เช เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช เช•เซ‡ เชเช• เชœ เชธเชฎเชฏเซ‡ เชฒเซ‰เช• เชฎเซ‡เชณเชตเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€ เชฐเชนเซ‡เชฒเชพ เชฌเชนเซเชตเชฟเชง เช•เซเชฒเชพเชฏเชจเซเชŸเซเชธ เชเช• เชœ เชธเชฎเชฏเซ‡ เชธเชซเชณ เชจ เชฅเชˆ เชถเช•เซ‡.

เชœเซ‹ เช•เซเชฒเชพเชฏเชจเซเชŸเซ‡ เชฎเซ‹เชŸเชพ เชญเชพเช—เชจเชพ เชฆเชพเช–เชฒเชพเช“เชจเซ‡ เชฎเชนเชคเซเชคเชฎ เชฒเซ‰เช• เช…เชตเชงเชฟ เช•เชฐเชคเชพเช‚ เชฒเช—เชญเช— เช…เชฅเชตเชพ เชตเชงเซ เชธเชฎเชฏ เชฎเชพเชŸเซ‡ เชฒเซ‰เช• เช•เชฐเซเชฏเชพ เชนเซ‹เชฏ, เชคเซ‹ เชคเซ‡ เชฒเซ‰เช•เชจเซ‡ เช…เชฎเชพเชจเซเชฏ เช—เชฃเชถเซ‡ เช…เชจเซ‡ เช‰เชฆเชพเชนเชฐเชฃเซ‹เชจเซ‡ เช…เชจเชฒเซ‰เช• เช•เชฐเชถเซ‡. เชคเซ‡เชฅเซ€, เช…เชฎเชพเชฐเซ‡ เชซเช•เซเชค เชคเซ‡ เชœ เช•เซ‡เชธเชจเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชตเซ‹ เชชเชกเชถเซ‡ เชœเซ‡เชฎเชพเช‚ เช•เซเชฒเชพเชฏเช‚เชŸ เชธเชฎเชพเชชเซเชคเชฟ เชคเชพเชฐเซ€เช– เช•เชฐเชคเชพเช‚ เช“เช›เชพ เชธเชฎเชฏเชฎเชพเช‚ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ€ เช˜เชŸเชจเชพเช“เชจเซ‡ เช…เชตเชฐเซ‹เชงเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เชตเซเชฏเชตเชธเซเชฅเชพเชชเชฟเชค เช›เซ‡. เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เช‰เชชเชฐเซ‹เช•เซเชค เชฆเชฒเซ€เชฒ เช…เช‚เช—เซ‡, เชธเชฎเชฏ เชฆเชฐเชฎเชฟเชฏเชพเชจ MIN_VALIDITY เช•เซ‹เชˆ เช•เซเชฒเชพเชฏเชจเซเชŸ เชฒเซ‹เช• เชซเชฐเซ€เชฅเซ€ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เชธเช•เซเชทเชฎ เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช เชจเชนเซ€เช‚. เชคเซ‡เชฅเซ€, เช˜เชฃเชพ เช•เซเชฒเชพเชฏเชจเซเชŸเซเชธ N/2+1 เชฆเชพเช–เชฒเชพเช“เชจเซ‡ เชคเซ‡ เชœ เชธเชฎเชฏเซ‡ เชฒเซ‹เช• เช•เชฐเซ€ เชถเช•เชถเซ‡ (เชœเซ‡ เชธเซเชŸเซ‡เชœ 2 เชจเชพ เช…เช‚เชคเซ‡ เชธเชฎเชพเชชเซเชค เชฅเชพเชฏ เช›เซ‡) เชคเซเชฏเชพเชฐเซ‡ เชœ เชœเซเชฏเชพเชฐเซ‡ เชฌเชนเซเชฎเชคเซ€ เชฒเซ‹เช• เช•เชฐเชตเชพเชจเซ‹ เชธเชฎเชฏ TTL เชธเชฎเชฏ เช•เชฐเชคเชพ เชตเชงเชพเชฐเซ‡ เชนเซ‹เชฏ, เชœเซ‡ เชฒเซ‹เช•เชจเซ‡ เช…เชฎเชพเชจเซเชฏ เชฌเชจเชพเชตเซ‡ เช›เซ‡.

เชถเซเช‚ เชคเชฎเซ‡ เชธเซเชฐเช•เซเชทเชพเชจเซ‹ เช”เชชเชšเชพเชฐเชฟเช• เชชเซเชฐเชพเชตเซ‹ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เชนเชพเชฒเชจเชพ เชธเชฎเชพเชจ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเซเชธ เชธเซ‚เชšเชตเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชฅเชตเชพ เช‰เชชเชฐเซ‹เช•เซเชคเชฎเชพเช‚ เชฌเช— เชถเซ‹เชงเซ€ เชถเช•เซ‹ เช›เซ‹?

เชธเซเชฒเชญเชคเชพ เชตเชฟเชšเชพเชฐเชฃเชพเช“

เชธเชฟเชธเซเชŸเชฎเชจเซ€ เช‰เชชเชฒเชฌเซเชงเชคเชพ เชคเซเชฐเชฃ เชฎเซเช–เซเชฏ เชฒเชพเช•เซเชทเชฃเชฟเช•เชคเชพเช“ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช›เซ‡:

  1. เชคเชพเชณเชพเช“ เช†เชชเชฎเซ‡เชณเซ‡ เชฐเซ€เชฒเซ€เช เช•เชฐเซ‹ (เชœเซ‡เชฎ เช•เซ€เชจเซ€ เชธเชฎเชฏเชธเซ€เชฎเชพ เชธเชฎเชพเชชเซเชค เชฅเชพเชฏ เช›เซ‡): เชšเชพเชตเซ€เช“ เช†เช–เชฐเซ‡ เชคเชพเชณเชพเช“ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพ เชฎเชพเชŸเซ‡ เชซเชฐเซ€เชฅเซ€ เช‰เชชเชฒเชฌเซเชง เชฅเชถเซ‡.
  2. เชนเช•เซ€เช•เชค เช เช›เซ‡ เช•เซ‡ เช—เซเชฐเชพเชนเช•เซ‹ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชคเชพเชณเชพเช“ เชฆเซ‚เชฐ เช•เชฐเซ€เชจเซ‡ เชเช•เชฌเซ€เชœเชพเชจเซ‡ เชฎเชฆเชฆ เช•เชฐเซ‡ เช›เซ‡ เชœเซเชฏเชพเชฐเซ‡ เช‡เชšเซเช›เชฟเชค เชคเชพเชณเซเช‚ เชนเชธเซเชคเช—เชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชจ เชนเซ‹เชฏ, เช…เชฅเชตเชพ เชนเชธเซเชคเช—เชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเซ‹เชฏ เช…เชจเซ‡ เช•เชพเชฎ เชชเซ‚เชฐเซเชฃ เชฅเชˆ เช—เชฏเซเช‚ เชนเซ‹เชฏ; เชคเซ‡เชฅเซ€ เชธเช‚เชญเชต เช›เซ‡ เช•เซ‡ เชฒเซ‹เช• เชซเชฐเซ€เชฅเซ€ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เช†เชชเชฃเซ‡ เชšเชพเชตเซ€เช“เชจเซ€ เชธเชฎเชฏเชธเซ€เชฎเชพ เชธเชฎเชพเชชเซเชค เชฅเชตเชพเชจเซ€ เชฐเชพเชน เชœเซ‹เชตเซ€ เชชเชกเชถเซ‡ เชจเชนเซ€เช‚.
  3. เชนเช•เซ€เช•เชค เช เช›เซ‡ เช•เซ‡ เชœเซเชฏเชพเชฐเซ‡ เช•เซเชฒเชพเชฏเชจเซเชŸเชจเซ‡ เชฒเซ‰เช• เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เชซเชฐเซ€เชฅเซ€ เชชเซเชฐเชฏเชพเชธ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ เชคเชพเชณเชพเช“ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เชธเชฎเชฏเช—เชพเชณเชพ เช•เชฐเชคเชพเช‚ เชคเซเชฒเชจเชพเชคเซเชฎเช• เชฐเซ€เชคเซ‡ เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏ เชธเซเชงเซ€ เชฐเชพเชน เชœเซเช เช›เซ‡. เช† เชธเช‚เชธเชพเชงเชจเซ‹ เชฎเชพเชŸเซ‡ เชธเซเชชเชฐเซเชงเชพ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชตเชฟเชญเชพเชœเชฟเชค-เชฎเช—เชœเชจเซ€ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟ เชŠเชญเซ€ เชฅเชตเชพเชจเซ€ เชธเช‚เชญเชพเชตเชจเชพเชจเซ‡ เช˜เชŸเชพเชกเซ‡ เช›เซ‡.

เชœเซ‹ เช•เซ‡, เชจเซ‡เชŸเชตเชฐเซเช• เชธเซ‡เช—เชฎเซ‡เชจเซเชŸเชจเชพ TTL เชœเซ‡เชŸเชฒเซ€ เช‰เชชเชฒเชฌเซเชงเชคเชพ เชฆเช‚เชก เช›เซ‡, เชคเซ‡เชฅเซ€ เชœเซ‹ เชคเซเชฏเชพเช‚ เชธเช‚เชฒเช—เซเชจ เชธเซ‡เช—เชฎเซ‡เชจเซเชŸเซเชธ เชนเซ‹เชฏ, เชคเซ‹ เชชเซ‡เชจเชฒเซเชŸเซ€ เช…เชจเชฟเชถเซเชšเชฟเชค เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡. เช† เชคเซเชฏเชพเชฐเซ‡ เชฅเชพเชฏ เช›เซ‡ เชœเซเชฏเชพเชฐเซ‡ เช•เซเชฒเชพเชฏเช‚เชŸ เชฒเซ‹เช• เชฎเซ‡เชณเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชชเช›เซ€ เชคเซ‡เชจเซ‡ เชฐเซ€เชฒเซ€เช เช•เชฐเซ‡ เชคเซ‡ เชชเชนเซ‡เชฒเชพ เชฌเซ€เชœเชพ เชธเซ‡เช—เชฎเซ‡เชจเซเชŸเชฎเชพเช‚ เชซเชพเชกเซ€ เชจเชพเช–เซ‡ เช›เซ‡.

เชธเซˆเชฆเซเชงเชพเช‚เชคเชฟเช• เชฐเซ€เชคเซ‡, เช…เชจเช‚เชค เชธเช‚เชฒเช—เซเชจ เชจเซ‡เชŸเชตเชฐเซเช• เชตเชฟเชญเชพเช—เซ‹เชจเซ‡ เชœเซ‹เชคเชพเช‚, เชธเชฟเชธเซเชŸเชฎ เช…เชจเช‚เชค เชธเชฎเชฏเช—เชพเชณเชพ เชฎเชพเชŸเซ‡ เช…เชจเซเชชเชฒเชฌเซเชง เชฐเชนเซ€ เชถเช•เซ‡ เช›เซ‡.

เชชเซเชฐเชฆเชฐเซเชถเชจ, เชจเชฟเชทเซเชซเชณเชคเชพ เช…เชจเซ‡ fsync

เช˜เชฃเชพ เชฒเซ‹เช•เซ‹ Redis เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡เชฎเชจเซ‡ เชฒเซ‰เช• เชฎเซ‡เชณเชตเชตเชพ เช…เชจเซ‡ เชฐเชฟเชฒเซ€เช เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เชฒเซ‡เชŸเชจเซเชธเซ€ เช…เชจเซ‡ เชชเซเชฐเชคเชฟ เชธเซ‡เช•เชจเซเชกเชฎเชพเช‚ เชชเซ‚เชฐเซเชฃ เช•เชฐเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเชพ เชเช•เซเชตเชฟเชเชฟเชถเชจ/เชฐเชฟเชฒเซ€เชเชจเซ€ เชธเช‚เช–เซเชฏเชพเชจเชพ เชธเช‚เชฆเชฐเซเชญเชฎเชพเช‚ เช‰เชšเซเชš เชฒเซ‹เช• เชธเชฐเซเชตเชฐ เชชเซเชฐเชฆเชฐเซเชถเชจเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช† เชœเชฐเซ‚เชฐเชฟเชฏเชพเชคเชจเซ‡ เชชเชนเซ‹เช‚เชšเซ€ เชตเชณเชตเชพ เชฎเชพเชŸเซ‡, เชฒเซ‡เชŸเชจเซเชธเซ€ เช˜เชŸเชพเชกเชตเชพ เชฎเชพเชŸเซ‡ N Redis เชธเชฐเซเชตเชฐเซเชธ เชธเชพเชฅเซ‡ เชตเชพเชคเชšเซ€เชค เช•เชฐเชตเชพเชจเซ€ เชตเซเชฏเซ‚เชนเชฐเชšเชจเชพ เช›เซ‡. เช† เชเช• เชฎเชฒเซเชŸเชฟเชชเซเชฒเซ‡เช•เซเชธเชฟเช‚เช— เชตเซเชฏเซ‚เชนเชฐเชšเชจเชพ เช›เซ‡ (เช…เชฅเชตเชพ "เช—เชฐเซ€เชฌ เชฎเชพเชฃเชธเชจเซเช‚ เชฎเชฒเซเชŸเชฟเชชเซเชฒเซ‡เช•เซเชธเชฟเช‚เช—", เชœเซเชฏเชพเช‚ เชธเซ‰เช•เซ‡เชŸ เชฌเชฟเชจ-เชฌเซเชฒเซ‰เช•เชฟเช‚เช— เชฎเซ‹เชกเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชฌเชงเชพ เช†เชฆเซ‡เชถเซ‹ เชฎเซ‹เช•เชฒเซ‡ เช›เซ‡, เช…เชจเซ‡ เชชเช›เซ€เชฅเซ€ เช†เชฆเซ‡เชถเซ‹ เชตเชพเช‚เชšเซ‡ เช›เซ‡, เชเชฎ เชฎเชพเชจเซ€เชจเซ‡ เช•เซ‡ เช•เซเชฒเชพเชฏเช‚เชŸ เช…เชจเซ‡ เชฆเชฐเซ‡เช• เช˜เชŸเชจเชพ เชตเชšเซเชšเซ‡เชจเซ‹ เชฐเชพเช‰เชจเซเชก-เชŸเซเชฐเซ€เชช เชธเชฎเชฏ เชธเชฎเชพเชจ เช›เซ‡) .

เชœเซ‹ เช•เซ‡, เชœเซ‹ เช†เชชเชฃเซ‡ เชจเชฟเชทเซเชซเชณเชคเชพเช“เชฎเชพเช‚เชฅเซ€ เชตเชฟเชถเซเชตเชธเชจเซ€เชฏ เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชคเชฟ เชธเชพเชฅเซ‡ เชฎเซ‹เชกเชฒ เชฌเชจเชพเชตเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชคเซเชจ เช•เชฐเซ€เช เชคเซ‹ เชฒเชพเช‚เชฌเชพ เช—เชพเชณเชพเชจเชพ เชกเซ‡เชŸเชพ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชธเชพเชฅเซ‡ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒเซ€ เชตเชฟเชšเชพเชฐเชฃเชพเชจเซ‡ เชชเชฃ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชตเซ€ เชชเชกเชถเซ‡.

เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡, เชธเชฎเชธเซเชฏเชพเชจเซ‡ เชธเซเชชเชทเซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชšเชพเชฒเซ‹ เชงเชพเชฐเซ€เช เช•เซ‡ เช…เชฎเซ‡ Redis เชจเซ‡ เช•เซ‹เชˆ เชฒเชพเช‚เชฌเชพ เช—เชพเชณเชพเชจเชพ เชกเซ‡เชŸเชพ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชธเชพเชฅเซ‡ เช—เซ‹เช เชตเซ€เช เช›เซ€เช. เช•เซเชฒเชพเชฏเช‚เชŸ 3 เชฎเชพเช‚เชฅเซ€ 5 เชฆเชพเช–เชฒเชพเช“เชจเซ‡ เช…เชตเชฐเซ‹เชงเชฟเชค เช•เชฐเชตเชพเชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เช•เชฐเซ‡ เช›เซ‡. เช•เซเชฒเชพเชฏเช‚เชŸเซ‡ เช…เชตเชฐเซ‹เชงเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเซเชฏเชตเชธเซเชฅเชพเชชเชฟเชค เช•เชฐเซ‡เชฒเชพ เชฆเชพเช–เชฒเชพเช“เชฎเชพเช‚เชฅเซ€ เชเช• เชชเซเชจเชƒเชชเซเชฐเชพเชฐเช‚เชญ เชฅเชฏเซ‹ เช›เซ‡, เช…เชจเซ‡ เช† เช•เซเชทเชฃเซ‡ เชคเซ‡ เชœ เชธเช‚เชธเชพเชงเชจ เชฎเชพเชŸเซ‡ เชซเชฐเซ€เชฅเซ€ 3 เชฆเชพเช–เชฒเชพเช“ เช›เซ‡, เชœเซ‡เชจเซ‡ เช†เชชเชฃเซ‡ เช…เชตเชฐเซ‹เชงเชฟเชค เช•เชฐเซ€ เชถเช•เซ€เช เช›เซ€เช, เช…เชจเซ‡ เช…เชจเซเชฏ เช•เซเชฒเชพเชฏเช‚เชŸ, เชฌเชฆเชฒเชพเชฎเชพเช‚, เชธเซเชฐเช•เซเชทเชพ เช—เซเชฃเชงเชฐเซเชฎเชจเซเช‚ เช‰เชฒเซเชฒเช‚เช˜เชจ เช•เชฐเซ€เชจเซ‡, เชชเซเชจเชƒเชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเซ‡เชฒ เช‰เชฆเชพเชนเชฐเชฃเชจเซ‡ เช…เชตเชฐเซ‹เชงเชฟเชค เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡. เชคเชพเชณเชพเช“เชจเซ€ เชตเชฟเชถเชฟเชทเซเชŸเชคเชพ เชงเชพเชฐเซ‡ เช›เซ‡.

เชœเซ‹ เชคเชฎเซ‡ เชกเซ‡เชŸเชพ เช…เชนเซ‡เชก (AOF) เชจเซ‡ เชธเช•เซเชทเชฎ เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชฎเชพเช‚ เชฅเซ‹เชกเซ‹ เชธเซเชงเชพเชฐเซ‹ เชฅเชถเซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเชฎเซ‡ SHUTDOWN เช†เชฆเซ‡เชถ เชฎเซ‹เช•เชฒเซ€เชจเซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชชเซเชจเชƒเชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเซ€เชจเซ‡ เชธเชฐเซเชตเชฐเชจเซ‡ เชชเซเชฐเซ‹เชคเซเชธเชพเชนเชจ เช†เชชเซ€ เชถเช•เซ‹ เช›เซ‹. เชฐเซ‡เชกเชฟเชธเชฎเชพเช‚ เชธเชฎเชพเชชเซเชคเชฟเชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€ เชเชตเซ€ เชฐเซ€เชคเซ‡ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เช›เซ‡ เช•เซ‡ เชœเซเชฏเชพเชฐเซ‡ เชธเชฐเซเชตเชฐ เชฌเช‚เชง เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เชชเชฃ เชธเชฎเชฏเชจเซ‹ เชชเซเชฐเชตเชพเชน เชšเชพเชฒเซ เชฐเชนเซ‡ เช›เซ‡, เช…เชฎเชพเชฐเซ€ เชฌเชงเซ€ เช†เชตเชถเซเชฏเช•เชคเชพเช“ เชฌเชฐเชพเชฌเชฐ เช›เซ‡. เชœเซเชฏเชพเช‚ เชธเซเชงเซ€ เชธเชพเชฎเชพเชจเซเชฏ เชถเชŸเชกเชพเช‰เชจ เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เชคเซเชฏเชพเช‚ เชธเซเชงเซ€ เช† เชธเชพเชฎเชพเชจเซเชฏ เช›เซ‡. เชชเชพเชตเชฐ เช†เช‰เชŸเซ‡เชœเชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เชถเซเช‚ เช•เชฐเชตเซเช‚? เชœเซ‹ Redis เช เชกเชฟเชซเซ‰เชฒเซเชŸ เชฐเซ‚เชชเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เชฅเชฏเซ‡เชฒ เชนเซ‹เชฏ, fsync เชฆเชฐ เชธเซ‡เช•เชจเซเชกเซ‡ เชกเชฟเชธเซเช• เชชเชฐ เชธเชฎเชจเซเชตเชฏ เชธเชพเชฅเซ‡, เชคเซ‹ เชคเซ‡ เชถเช•เซเชฏ เช›เซ‡ เช•เซ‡ เชชเซเชจเชƒเชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเซเชฏเชพ เชชเช›เซ€ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช…เชฎเชพเชฐเซ€ เช•เซ€ เชจเชนเซ€เช‚ เชนเซ‹เชฏ. เชธเซˆเชฆเซเชงเชพเช‚เชคเชฟเช• เชฐเซ€เชคเซ‡, เชœเซ‹ เช†เชชเชฃเซ‡ เช•เซ‹เชˆเชชเชฃ เช‰เชฆเชพเชนเชฐเชฃ เชชเซเชจเชƒเชชเซเชฐเชพเชฐเช‚เชญ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชฒเซ‰เช• เชธเซเชฐเช•เซเชทเชพเชจเซ€ เชฌเชพเช‚เชฏเชงเชฐเซ€ เช†เชชเชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช, เชคเซ‹ เช†เชชเชฃเซ‡ เชธเช•เซเชทเชฎ เช•เชฐเชตเซเช‚ เชœเซ‹เชˆเช fsync=always เชฒเชพเช‚เชฌเชพ เช—เชพเชณเชพเชจเชพ เชกเซ‡เชŸเชพ เชธเซเชŸเซ‹เชฐเซ‡เชœ เชฎเชพเชŸเซ‡ เชธเซ‡เชŸเชฟเช‚เช—เซเชธเชฎเชพเช‚. เช†เชจเชพเชฅเซ€ CP เชธเชฟเชธเซเชŸเชฎเชจเชพ เชธเซเชคเชฐ เชธเซเชงเซ€, เชœเซ‡ เชชเชฐเช‚เชชเชฐเชพเช—เชค เชฐเซ€เชคเซ‡ เชตเชฟเชคเชฐเชฟเชค เชคเชพเชณเชพเช“เชจเซ‡ เชธเซเชฐเช•เซเชทเชฟเชค เชฐเซ€เชคเซ‡ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพ เชฎเชพเชŸเซ‡ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชคเซ‡ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชจเชทเซเชŸ เช•เชฐเชถเซ‡.

เชชเชฐเช‚เชคเซ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟ เชชเซเชฐเชฅเชฎ เชจเชœเชฐเชฎเชพเช‚ เชฒเชพเช—เซ‡ เชคเซ‡ เช•เชฐเชคเชพเช‚ เชตเชงเซ เชธเชพเชฐเซ€ เช›เซ‡. เชธเซˆเชฆเซเชงเชพเช‚เชคเชฟเช• เชฐเซ€เชคเซ‡, เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชจเซ€ เชธเซเชฐเช•เซเชทเชพ เชธเชšเชตเชพเชฏ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชœเซเชฏเชพเชฐเซ‡ เชจเชฟเชทเซเชซเชณเชคเชพ เชชเช›เซ€ เชฆเชพเช–เชฒเซ‹ เชชเซเชจเชƒเชชเซเชฐเชพเชฐเช‚เชญ เชฅเชพเชฏ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡ เชนเชพเชฒเชฎเชพเช‚ เชธเช•เซเชฐเชฟเชฏ เชนเซ‹เชฏ เชคเซ‡เชตเชพ เช•เซ‹เชˆเชชเชฃ เชฒเซ‹เช•เชฎเชพเช‚ เชญเชพเช— เชฒเซ‡เชคเซ‹ เชจเชฅเซ€.

เช†เชจเซ‡ เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเชพเชฐเซ‡ เชฎเชพเชคเซเชฐ เช เชธเซเชจเชฟเชถเซเชšเชฟเชค เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เช•เซ‡ เชจเชฟเชทเซเชซเชณเชคเชพ เชชเช›เซ€ เชฆเชพเช–เชฒเชพ เช…เชฎเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช เชคเซ‡ เชฎเชนเชคเซเชคเชฎ TTL เช•เชฐเชคเชพเช‚ เชธเชนเซ‡เชœ เชตเชงเซ เชธเชฎเชฏ เชฎเชพเชŸเซ‡ เช…เชจเซเชชเชฒเชฌเซเชง เชฐเชนเซ‡ เช›เซ‡. เช† เชฐเซ€เชคเซ‡ เช†เชชเชฃเซ‡ เชธเชฎเชพเชชเซเชคเชฟ เชคเชพเชฐเซ€เช– เชธเซเชงเซ€ เชฐเชพเชน เชœเซ‹เชˆเชถเซเช‚ เช…เชจเซ‡ เชจเชฟเชทเซเชซเชณเชคเชพ เชธเชฎเชฏเซ‡ เชธเช•เซเชฐเชฟเชฏ เชนเชคเซ€ เชคเซ‡ เชฌเชงเซ€ เช•เซ€เชจเชพ เชธเซเชตเชšเชพเชฒเชฟเชค เชชเซเชฐเช•เชพเชถเชจ เชธเซเชงเซ€.

เชตเชฟเชฒเช‚เชฌเชฟเชค เชชเซเชจเชƒเชชเซเชฐเชพเชฐเช‚เชญเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, เชฐเซ‡เชกเชฟเชธเชฎเชพเช‚ เชฒเชพเช‚เชฌเชพ เช—เชพเชณเชพเชจเซ€ เชฆเซเชฐเชขเชคเชพเชจเซ€ เช—เซ‡เชฐเชนเชพเชœเชฐเซ€เชฎเชพเช‚ เชชเชฃ เชธเซเชฐเช•เซเชทเชพ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเซ€ เชธเซˆเชฆเซเชงเชพเช‚เชคเชฟเช• เชฐเซ€เชคเซ‡ เชถเช•เซเชฏ เช›เซ‡. เชจเซ‹เช‚เชง เช•เชฐเซ‹, เชœเซ‹ เช•เซ‡, เช† เชเช•เซเชธเซ‡เชธเชฟเชฌเชฟเชฒเชฟเชŸเซ€เชจเชพ เช‰เชฒเซเชฒเช‚เช˜เชจ เชฎเชพเชŸเซ‡ เชฆเช‚เชกเชฎเชพเช‚ เชชเชฐเชฟเชฃเชฎเซ€ เชถเช•เซ‡ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชœเซ‹ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ€ เช˜เชŸเชจเชพเช“ เชจเชฟเชทเซเชซเชณ เชœเชพเชฏ, เชคเซ‹ เชธเชฟเชธเซเชŸเชฎ TTL เชฎเชพเชŸเซ‡ เชตเซˆเชถเซเชตเชฟเช• เชธเซเชคเชฐเซ‡ เช…เชจเซเชชเชฒเชฌเซเชง เชฌเชจเซ€ เชœเชถเซ‡ (เช…เชจเซ‡ เช† เชธเชฎเชฏ เชฆเชฐเชฎเชฟเชฏเชพเชจ เช•เซ‹เชˆ เชธเช‚เชธเชพเชงเชจเชจเซ‡ เช…เชตเชฐเซ‹เชงเชฟเชค เช•เชฐเซ€ เชถเช•เชพเชถเซ‡ เชจเชนเซ€เช‚).

เช…เชฎเซ‡ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎเชจเซ€ เช‰เชชเชฒเชฌเซเชงเชคเชพ เชตเชงเชพเชฐเซ€เช เช›เซ€เช: เช…เชฎเซ‡ เชฌเซเชฒเซ‹เช•เชฟเช‚เช—เชจเซ‡ เชฒเช‚เชฌเชพเชตเซ€เช เช›เซ€เช

เชœเซ‹ เช•เซเชฒเชพเชฏเชจเซเชŸ เชฆเซเชตเชพเชฐเชพ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชคเชพ เช•เชพเชฎเชฎเชพเช‚ เชจเชพเชจเชพ เชชเช—เชฒเชพเช“ เชนเซ‹เชฏ, เชคเซ‹ เชกเชฟเชซเซ‰เชฒเซเชŸ เชฒเซ‰เช•เชจเซ€ เช…เชตเชงเชฟเชฎเชพเช‚ เช˜เชŸเชพเชกเซ‹ เช•เชฐเชตเซ‹ เช…เชจเซ‡ เชฒเซ‰เช•เชจเซ‡ เชฒเช‚เชฌเชพเชตเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชชเชฆเซเชงเชคเชฟเชจเซ‹ เช…เชฎเชฒ เช•เชฐเชตเซ‹ เชถเช•เซเชฏ เช›เซ‡. เชธเซˆเชฆเซเชงเชพเช‚เชคเชฟเช• เชฐเซ€เชคเซ‡, เชœเซ‹ เช•เซเชฒเชพเชฏเช‚เชŸ เช•เชฎเซเชชเซเชฏเซเชŸเชฟเช‚เช—เชฎเชพเช‚ เชตเซเชฏเชธเซเชค เชนเซ‹เชฏ เช…เชจเซ‡ เชฒเซ‰เช• เชธเชฎเชพเชชเซเชคเชฟ เชฎเซ‚เชฒเซเชฏ เชœเซ‹เช–เชฎเซ€ เชฐเซ€เชคเซ‡ เช“เช›เซเช‚ เชนเซ‹เชฏ, เชคเซ‹ เชคเชฎเซ‡ เชฒเซเช† เชธเซเช•เซเชฐเชฟเชชเซเชŸ เชฎเซ‹เช•เชฒเซ€ เชถเช•เซ‹ เช›เซ‹ เช•เซ‡ เชœเซ‡ เช•เซ€เชจเชพ TTLเชจเซ‡ เชตเชฟเชธเซเชคเซƒเชค เช•เชฐเซ‡ เช›เซ‡ เชœเซ‹ เช•เซ€ เชนเชœเซ€ เชชเชฃ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เชนเซ‹เชฏ เช…เชจเซ‡ เชคเซ‡เชจเซเช‚ เชฎเซ‚เชฒเซเชฏ เชนเชœเซ€ เชชเชฃ เชฐเซ‡เชจเซเชกเชฎ เชฎเซ‚เชฒเซเชฏ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เชชเซเชฐเชพเชชเซเชค เชฅเชพเชฏ เช›เซ‡. เชฒเซ‹เช• เชนเชธเซเชคเช—เชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚.

เช•เซเชฒเชพเชฏเชจเซเชŸเซ‡ เชฎเชพเชคเซเชฐ เชคเซเชฏเชพเชฐเซ‡ เชœ เชฒเซ‹เช•เชจเซ‡ เชชเซเชจเชƒเชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพเชจเซเช‚ เชตเชฟเชšเชพเชฐเชตเซเช‚ เชœเซ‹เชˆเช เชœเซ‹ เชคเซ‡ เชฎเชพเชจเซเชฏเชคเชพ เช…เชตเชงเชฟเชฎเชพเช‚ เชฎเซ‹เชŸเชพ เชญเชพเช—เชจเชพ เชฆเชพเช–เชฒเชพเช“เชจเซ‡ เชฒเซ‰เช• เช•เชฐเชตเชพเชฎเชพเช‚ เชตเซเชฏเชตเชธเซเชฅเชพเชชเชฟเชค เชนเซ‹เชฏ.

เชธเชพเชšเซเช‚ เช›เซ‡, เชคเช•เชจเซ€เช•เซ€ เชฐเซ€เชคเซ‡ เช…เชฒเซเช—เซ‹เชฐเชฟเชงเชฎ เชฌเชฆเชฒเชพเชคเซเช‚ เชจเชฅเซ€, เชคเซ‡เชฅเซ€ เชคเชพเชณเชพเช“ เชฎเซ‡เชณเชตเชตเชพเชจเชพ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เชชเซเชฐเชฏเชพเชธเซ‹เชจเซ€ เชฎเชนเชคเซเชคเชฎ เชธเช‚เช–เซเชฏเชพ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช, เช…เชจเซเชฏเชฅเชพ เชธเซเชฒเชญเชคเชพ เช—เซเชฃเชงเชฐเซเชฎเซ‹เชจเซเช‚ เช‰เชฒเซเชฒเช‚เช˜เชจ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹