VNPT ElastiCache for Redis cung cấp tính năng quản lý cấu hình tham số của Redis theo phiên bản. Quý khách có thể xem danh sách các parameter được hỗ trợ, giá trị giới hạn cho phép, giá trị đang áp dụng và thực hiện điều chỉnh các thông số như memory limit, eviction policy,… phù hợp với từng ứng dụng.

Tên tham sốGiá trị mặc địnhGiá trị cho phépMô tả
protected-modeno

Type: boolean 

yes, no

Cấu hình là một tính năng bảo mật để ngăn chặn truy cập trái phép vào Redis server. 

  • yes: Nếu cấu hình này được bật Redis chỉ chấp nhận kết nối từ các client kết nối từ loopback interface (127.0.0.1) và từ chối tất cả các kết nối khác. 
  • no: Khi tắt cấu hình này Redis cho phép tất cả kết nối đến server, hệ thống khuyến nghị đặt mật khẩu truy cập để ngăn chặn các kết nối từ bên ngoài vào server của bạn.
tcp-backlog65536

Type: integer 

1 - 100000

Số lượng kết nối chờ (pending connection) mà Redis có thể duy trì trước khi từ chối kết nối mới. Cấu hình này điều chỉnh kích thước của TCP backlog queue — một hàng đợi chứa các kết nối đang chờ được xử lý. Khi Redis nhận một kết nối mới, nếu Redis chưa sẵn sàng xử lý ngay (ví dụ khi server quá tải), các kết nối này sẽ được lưu trữ trong hàng đợi backlog cho đến khi Redis có thể xử lý.
timeout180

Type: integer 

0 - 2147464781

Thời gian chờ (tính bằng giây) trước khi đóng kết nối của client nếu không có hoạt động nào. Giá trị 0 có nghĩa là không có thời gian chờ được thiết lập và client không bị đóng kết nối.
tcp-keepalive300

Type: integer 

0 - 2147481647

Cấu hình chỉ định tần suất gửi các gói TCP keepalive giữa Redis và các kết nối của client. Mục đích của TCP keepalive là để đảm bảo rằng kết nối vẫn còn, giúp Redis phát hiện các kết nối bị ngắt quãng hoặc các kết nối không còn hoạt động (chẳng hạn khi có sự cố mạng hoặc client bị ngắt kết nối). 0: Không có quá trình kiểm tra kết nối. Giá trị khác 0 (N): Redis yêu cầu OS gửi các gói TCP keepalive mỗi N (tính bằng giây) đến các client để đảm bảo rằng vẫn còn kết nối. Nếu một client không phản hồi các message TCP alive, client đó sẽ được coi là đã dead và kết nối sẽ bị đóng. 
databases16

Type: integer 

1 - 100

Số lượng database mà Redis hỗ trợ.
loglevelwarning

Type: string 

debug, verbose, notice, warning, nothing 

Cấu hình dùng để xác định mức độ chi tiết của thông tin log mà Redis sẽ ghi lại. 

  • debug: Đây là mức độ log chi tiết nhất, ghi lại hầu hết mọi thông tin liên quan đến hoạt động của Redis, bao gồm error, system event và internal action. Nó được sử dụng chủ yếu trong môi trường dev và test. 
  • verbose: Mức độ log này cung cấp nhiều thông tin hơn mức notice, nhưng ít chi tiết hơn debug. Nó ghi lại system event và thông tin về các Redis command. 
  • notice: Đây là mức độ log mặc định trong Redis cho môi trường production, ghi lại thông tin quan trọng về các operation của Redis mà không có quá nhiều chi tiết. Nó thường bao gồm các event như restart lại Redis hoặc các cảnh báo. 
  • warning: Mức độ này chỉ ghi lại các cảnh báo và critical error. Nó giúp giảm bớt thông tin được ghi lại trong log, chỉ tập trung vào những thông tin quan trọng. nothing: Không lưu lại log
save900 1 300 10 60 10000

Type: string 

Bật snapshot RDB tự động: save <seconds> <changes> [<seconds> <changes> ...] (Hỗ trợ tối đa 10 cặp giá trị <seconds> <changes>) <second> (type: integer): 1 - 2147464781 <changes> (type: integer): 1 - 2147464781 

Tắt snapshot RDB tự động: """" (null) 

Cấu hình xác định tần suất thực hiện snapshot RDB tự động theo thời gian và số key thay đổi. 

  • Chuỗi """" (null): tắt hoàn toàn việc snapshot (Không lưu RDB tự động) 
  • Chuỗi save <seconds> <changes> [<seconds> <changes> ...]: Redis sẽ thực hiện snapshot RDB tự động nếu có ít nhất <changes> thay đổi trong <seconds> giây.
stop-writes-on-bgsave-erroryes

Type: boolean 

Yes, no

Cấu hình chỉ định Redis sẽ dừng ghi khi xảy ra lỗi trong quá trình snapshot RDB. 

  • yes: Nếu bật cấu hình này Redis sẽ dừng nhận các lệnh ghi (write command) giúp bảo vệ tính toàn vẹn của dữ liệu. 
  • no: Khi tắt cấu hình này Redis sẽ tiếp tục nhận các lệnh ghi (write command) ngay cả khi có lỗi trong quá trình snapshot RDB, điều này có thể gây ra mất đồng bộ dữ liệu nhưng tránh làm gián đoạn hoạt động của Redis.
rdbcompressionyes

Type: boolean 

yes, no

Cấu hình chỉ định Redis sẽ nén dữ liệu khi thực hiện snapshot RDB. 

  • yes: Nếu cấu hình này được bật Redis sẽ sử dụng phương pháp nén (thường là zlib) để nén các file RDB trước khi lưu vào disk. Điều này giúp giảm không gian lưu trữ cần thiết cho các file RDB. 
  • no: Khi tắt cấu hình này Redis không nén dữ liệu khi thực hiện snapshot RDB.
rdbchecksumyes

Type: boolean 

yes, no

Cấu hình giúp kiểm tra tính toàn vẹn của các file RDB bằng cách tính toán một giá trị checksum (giá trị kiểm tra toàn vẹn) cho các file này. Checksum giúp phát hiện lỗi nếu file RDB bị thay đổi hoặc lỗi trong quá trình lưu trữ hoặc khi Redis khôi phục dữ liệu từ file RDB. 

  • yes: Nếu cấu hình này được bật Redis sẽ tính toán và lưu trữ checksum cho mỗi file RDB được tạo ra khi Redis thực hiện thao tác sao lưu (snapshot). 
  • no: Khi tắt cấu hình này Redis sẽ không tính toán checksum khi tạo snapshot và sẽ không kiểm tra tính toàn vẹn của file RDB khi khôi phục dữ liệu.
acllog-max-len 128

Type: integer 

0 - 10000

Cấu hình liên quan đến việc quản lý Access Control List (ACL) log. ACL cho phép kiểm soát quyền truy cập và thao tác mà người dùng có thể thực hiện trên Redis. Mục đích của acllog-max-len là để giới hạn số lượng log được lưu trữ trong ACL log.
maxmemory-policynoeviction

Type: string 

allkeys-lru, volatile-lru, allkeys-lfu, volatile-lfu, allkeys-random, volatile-random, volatile-ttl, noeviction

Cấu hình xác định cơ chế loại bỏ (eviction policy) dữ liệu khi vượt quá giới hạn bộ nhớ đã được thiết lập (maxmemory). 

  • noeviction: Trả về lỗi nếu đạt giới hạn bộ nhớ và không thực hiện xóa key. 
  • allkeys-lru: Loại bỏ các key ít được sử dụng nhất dựa trên thời gian truy cập gần đây (LRU - Least Recently Used) để giải phóng bộ nhớ. 
  • volatile-lru: Loại bỏ các key ít được sử dụng nhất dựa trên thời gian truy cập gần đây (LRU - Least Recently Used), nhưng chỉ đối với những key có expire set đã được thiết lập. 
  • allkeys-random: Loại bỏ ngẫu nhiên các key để giải phóng bộ nhớ. 
  • volatile-random: Loại bỏ ngẫu nhiên các key để giải phóng bộ nhớ, nhưng chỉ đối với những key có expire set đã được thiết lập. 
  • volatile-ttl: Ưu tiên loại bỏ các key có time-to-live (TTL) ngắn trước, nhưng chỉ đối với những key có expire set đã được thiết lập. 
  • volatile-lfu: Loại bỏ các key ít được sử dụng nhất dựa trên tần suất truy cập (LFU - Least Frequently Used), nhưng chỉ đối với những key có expire set đã được thiết lập. 
  • allkeys-lfu: Loại bỏ các key ít được sử dụng nhất dựa trên tần suất truy cập (LFU - Least Frequently Used) để giải phóng bộ nhớ.
maxmemory-samples10

Type: integer 

1 - 64

Cấu hình chỉ định số lượng key ngẫu nhiên mà Redis sẽ chọn ra để quyết định key nào sẽ bị xóa khi áp dụng các cơ chế eviction LRU (Least Recently Used), LFU (Least Frequently Used) hoặc TTL (Time-To-Live). Giá trị thấp (1 - 4) : Redis tối ưu hóa hiệu suất và ít tốn tài nguyên CPU nhưng có thể đưa ra quyết định xóa không chính xác. Giá trị đề xuất trong trường hợp sử dụng cơ chế eviction random, không có quá nhiều dữ liệu hoặc không quá nhạy cảm với việc xóa sai. Giá trị mặc định (5): Giá trị hợp lý cho phần lớn các trường hợp, cung cấp sự cân bằng giữa hiệu suất và độ chính xác Giá trị cao (6 - 64): Đảm bảo quyết định xóa chính xác hơn, nhưng có thể làm giảm hiệu suất và tăng tải CPU. Giá trị đề xuất trong trường hợp sử dụng cơ chế eviction LRU, LFU, TTL hoặc phải xử lý rất nhiều dữ liệu và đảm bảo rằng việc xóa key được thực hiện một cách chính xác. 
maxmemory-eviction-tenacity10

Type: integer

 0 - 100

Cấu hình chỉ định số lần Redis sẽ loại bỏ các key bởi cơ chế eviction trước khi quyết định từ chối các request (ví dụ thêm key mới) nếu vượt quá giới hạn bộ nhớ đã được thiết lập (maxmemory). 0: Ưu tiên giảm độ phức tạp xuống mức tối đa, Redis sẽ chỉ loại bỏ các key một lần và nếu bộ nhớ vẫn đầy, Redis sẽ trả về lỗi (ví dụ: out of memory). Giá trị khác 0 (N): Ưu tiên khả năng giải phóng bộ nhớ nhiều lần thay vì trả về lỗi ngay lập tức khi bộ nhớ đầy, Redis sẽ thực hiện việc loại bỏ các key lần đầu tiên và tiếp tục N lần sau đó trước khi từ chối request.
lazyfree-lazy-evictionno

Type: boolean

yes, no

Cấu hình sử dụng cơ chế lazy (xóa bất đồng bộ) để giải phóng bộ nhớ cho các key bị loại bỏ do cơ chế eviction (không áp dụng cho ""noeviction"" policy). 

  • yes: Khi bật cấu hình này, Redis sẽ không loại bỏ trực tiếp các key khỏi bộ nhớ ngay lập tức mà thực hiện cơ chế xóa bất đồng bộ để đánh dấu các key đó đã xóa và thực hiện việc giải phóng bộ nhớ tại background thread, giúp cải thiện hiệu suất và giảm độ trễ trong quá trình xử lý các operation tại main thread. 
  • no: Nếu tắt cấu hình này, Redis sẽ không sử dụng cơ chế lazy mà sẽ xóa key ngay lập tức khi thực hiện cơ chế eviction. 
lazyfree-lazy-expire no

Type: boolean 

yes, no

Cấu hình sử dụng cơ chế lazy (xóa bất đồng bộ) để giải phóng bộ nhớ cho các key hết hạn (expired key) bị loại bỏ do cơ chế eviction giúp Redis duy trì hiệu suất cao khi có nhiều key hết hạn (expired key) đồng thời. 

  • yes: Khi cấu hình này được bật, Redis sẽ không giải phóng bộ nhớ ngay lập tức khi một key hết hạn (expired key) mà sẽ thực hiện cơ chế xóa bất đồng bộ đánh dấu các key đó đã xóa và thực hiện việc giải phóng bộ nhớ tại background thread, giúp cải thiện hiệu suất và giảm độ trễ trong quá trình xử lý operation tại main thread. 
  • no: Nếu tắt cấu hình này, Redis sẽ không sử dụng cơ chế lazy mà sẽ xóa các key hết hạn (expired key) ngay lập tức khi thực hiện cơ chế eviction. 
lazyfree-lazy-server-del no

Type: boolean 

yes, no

Cấu hình sử dụng cơ chế lazy (xóa bất đồng bộ) để giải phóng bộ nhớ, tham số này ảnh hưởng đến cách Redis xử lý việc xóa các server key (key mà Redis tự động quản lý, như các key liên quan đến replication, persistence, hoặc các thông tin cấu hình nội bộ của Redis) trong trường hợp các key được xóa thông qua thực hiện DEL command (DEL command được cấu hình giống như UNLINK command). 

  • yes: Nếu cấu hình này được bật, Redis sẽ không xóa key ngay lập tức thông qua thực hiện DEL command. Thay vào đó, Redis sẽ thực hiện cơ chế xóa bất đồng bộ (khi DEL command được cấu hình giống như UNLINK command) đánh dấu key đó đã xóa và trì hoãn việc giải phóng bộ nhớ cho key đó tại background thread, giúp cải thiện hiệu suất và giảm độ trễ trong quá trình xử lý các operation tại main thread.
  • no: Nếu tắt cấu hình này, Redis sẽ xóa key và giải phóng bộ nhớ ngay lập tức khi thực hiện DEL command.
lazyfree-lazy-user-del no

Type: boolean

yes, no

Cấu hình sử dụng cơ chế lazy (xóa bất đồng bộ) tối ưu hóa hiệu suất và giảm độ trễ khi xóa các user key (các key do user tạo ra và lưu trữ trong Redis, các key có thể có kích thước lớn hoặc chứa nhiều cấu trúc dữ liệu phức tạp như list, set, hash) thông qua thực hiện DEL command (DEL command được cấu hình giống như UNLINK command). 

  • yes: Khi cấu hình được bật, Redis không xóa ngay lập tức các key khỏi bộ nhớ khi thực hiện DEL command. Thay vào đó, Redis thực hiện cơ chế xóa bất đồng bộ (khi DEL command được cấu hình giống như UNLINK command) đánh dấu các key này đã xóa và giải phóng bộ nhớ tại background thread. Tuy nhiên, cần lưu ý rằng nếu không giải phóng bộ nhớ kịp thời, có thể dẫn đến lãng phí bộ nhớ và ảnh hưởng đến hiệu suất tổng thể. 
  • no: Nếu tắt cấu hình này, Redis sẽ xóa key và giải phóng bộ nhớ ngay lập tức khi thực hiện DEL command.
lazyfree-lazy-user-flush no

Type: boolean 

yes, no

Cấu hình sử dụng cơ chế lazy (xóa bất đồng bộ) tối ưu hóa hiệu suất và giảm độ trễ khi xóa các user keys (các key do user tạo ra và lưu trữ trong Redis, các key này có thể có kích thước lớn hoặc chứa nhiều cấu trúc dữ liệu phức tạp như list, set, hashes) khi thực hiện FLUSHDB command hoặc FLUSHALL command. 

  • yes: Khi cấu hình được bật, Redis không xóa ngay lập tức các key khỏi bộ nhớ khi thực hiện FLUSHDB command hoặc FLUSHALL command. Thay vào đó, Redis thực hiện cơ chế xóa bất đồng bộ đánh dấu các key này đã xóa và giải phóng bộ nhớ tại background thread. Tuy nhiên, cần lưu ý rằng nếu không giải phóng bộ nhớ kịp thời, có thể dẫn đến lãng phí bộ nhớ và ảnh hưởng đến hiệu suất tổng thể. 
  • no: Nếu tắt cấu hình này, Redis sẽ xóa key và giải phóng bộ nhớ ngay lập tức khi thực hiện FLUSHDB command hoặc FLUSHALL command.
appendonly no

Type: boolean 

yes, no

Cấu hình chỉ định cơ chế persistence trong Redis đảm bảo tính bền vững của dữ liệu, điều này giúp bảo vệ dữ liệu và phục hồi trạng thái dữ liệu sau khi Redis khởi động lại, ngay cả trong trường hợp hệ thống gặp sự cố. 

  • yes: Khi cấu hình được bật, Redis ghi lại tất cả các write command (bao gồm những command thay đổi dữ liệu trong Redis như lưu trữ giá trị vào key, thêm phần tử vào list, set, hoặc sorted set, và nhiều command khác) vào một file log kiểu AOF (Append-Only File). AOF có thể bảo vệ dữ liệu tốt hơn so với RDB snapshots, vì mỗi write command đều được ghi lại theo thời gian thực. 
  • no: Nếu cấu hình này tắt thì Redis sẽ không ghi các write command vào file AOF.
appendfsync everysec

Type: string 

always, everysec, no

Cấu hình chỉ định tần suất mà Redis gọi fsync() để đồng bộ các thay đổi dữ liệu vào file AOF. 

  • always: Mỗi khi một write command được thực thi và dữ liệu được thay đổi, Redis sẽ ngay lập tức ghi dữ liệu vào file AOF. Điều này đảm bảo tính nhất quán cao nhất (không mất dữ liệu trong trường hợp Redis gặp sự cố), nhưng có thể làm giảm hiệu suất do việc ghi vào disk liên tục. 
  • everysec: Redis sẽ ghi dữ liệu vào file AOF mỗi giây một lần, đảm bảo sự cân bằng giữa hiệu suất và tính nhất quán. Nếu Redis gặp sự cố, có thể mất một vài giây dữ liệu, nhưng hiệu suất sẽ tốt hơn so với tùy chọn always. 
  • no: Redis không thực hiện ghi vào file AOF ngay lập tức mà để hệ điều hành tự động đồng bộ hóa. Điều này giúp Redis có hiệu suất cao nhất, nhưng có thể gây mất mát dữ liệu trong trường hợp hệ thống gặp sự cố.
auto-aof-rewrite-percentage100

Type: integer 

0 - 100

Cấu hình chỉ định khi nào Redis sẽ tự động thực hiện AOF rewrite để giảm kích thước của file AOF, nhằm tối ưu file này không trở nên quá lớn và chiếm nhiều tài nguyên. 0: Redis không bao giờ tự động thực hiện AOF rewrite, hữu ích trong một số trường hợp đặc biệt như nhu cầu kiểm soát việc ghi lại AOF và không muốn Redis tự động thay đổi file AOF. Giá trị khác 0 (N): Redis sẽ thực hiện quá trình rewrite file AOF khi kích thước hiện tại của file AOF tăng thêm N % so với kích thước của file AOF sau lần rewrite cuối cùng.
auto-aof-rewrite-min-size64mb

Type: string 

0 1 - 104857600kb 1 - 102400mb 1 - 100gb

Cấu hình chỉ định kích thước tối thiểu của file AOF mà Redis sẽ bắt đầu thực hiện rewrite. 

  • 0: Redis không yêu cầu kích thước tối thiểu trước khi thực hiện quá trình AOF rewrite mà sẽ thực hiện rewrite mỗi khi có bất kỳ thay đổi dữ liệu nào. 
  • Giá trị khác 0 (N): Redis sẽ bắt đầu quá trình AOF rewrite khi file AOF có kích thước tối thiểu N (đơn vị tính bằng KB, MB, GB).
aof-load-truncated yes

Type: boolean 

yes, no

Cấu hình chỉ định Redis có nạp file AOF bị cắt ngắn hoặc không hoàn chỉnh (do tắt hệ thống đột ngột, mất điện, hoặc các sự cố khác) khi restart lại hay không. 

  • yes: Nếu cấu hình được bật Redis sẽ vẫn tiếp tục nạp file AOF khi restart, bỏ qua phần bị hỏng và chỉ nạp các phần dữ liệu còn lại có thể khôi phục được, giúp khôi phục nhanh chóng và tránh gián đoạn dịch vụ. 
  • no: Khi tắt cấu hình này Redis sẽ không nạp file AOF bị hỏng hoặc không đầy đủ khi restart mà khôi phục dữ liệu từ các nguồn khác nếu có như RDB (Redis Database) hoặc bộ nhớ (RAM), giúp đảm bảo tính toàn vẹn của dữ liệu nhưng có thể gây mất dữ liệu và gián đoạn dịch vụ 
aof-use-rdb-preamble yes

Type: boolean 

yes, no

Cấu hình cho phép sử dụng file RDB (Redis Database) làm phần đầu (preamble) của file AOF (Append-Only File) để tối ưu hóa quá trình lưu trữ và phục hồi dữ liệu từ file AOF khi Redis sử dụng kết hợp AOF và RDB để lưu trữ trạng thái dữ liệu. 

  • yes: Nếu cấu hình được bật Redis sẽ ghi file RDB vào file AOF ngay từ đầu nghĩa là lưu trữ trạng thái dữ liệu tại thời điểm snapshot (từ file RDB) vào phần đầu của file AOF sau đó sẽ chỉ ghi các command thay đổi vào file AOF, thay vì phải ghi lại toàn bộ dữ liệu mỗi khi có thay đổi. Cấu hình giúp giảm kích thước và tăng tốc độ phục hồi dữ liệu từ file AOF. 
  • no: Khi tắt cấu hình này Redis sẽ chỉ ghi các thay đổi dữ liệu vào file AOF mà không sử dụng RDB. 
slowlog-log-slower-than 10000

Type: integer 

-1 0 - 10000000

Cấu hình chỉ định một ngưỡng thời gian mà các command thực hiện lâu hơn ngưỡng này sẽ được ghi vào slow log. Slow log có thể giúp truy vết và phân tích các command hoặc truy vấn chậm, từ đó cải thiện hiệu suất hệ thống. 

  • -1: Redis không ghi lại bất kỳ command nào vào slow log. 
  • 0: Redis ghi lại tất cả các command vào slow log, bất kể thời gian thực hiện. 
  • Giá trị khác 0 (N): Redis sẽ ghi lại tất cả các command mất hơn N (đơn vị micro giây) để thực hiện vào slow log.
slowlog-max-len 128

Type: integer 

0 - 10000

Cấu hình chỉ định số lượng command tối đa được lưu trữ trong slow log. Khi số lượng command trong slow log vượt quá giá trị này, Redis sẽ xóa các command cũ nhất (FIFO — First In, First Out) để giải phóng dung lượng cho các command mới.
list-compress-depth 0

Type: integer 

0 - 2147481647

Cấu hình chỉ định số lượng phần tử tối đa có thể lưu trữ trong một list dưới dạng cấu trúc dữ liệu listpack (cấu trúc dữ liệu nén lưu trữ các list có ít phần tử giúp tối ưu bộ nhớ). Nếu số lượng phần tử trong list vượt quá giá trị này, Redis sẽ chuyển từ listpack sang cấu trúc dữ liệu quicklist hiệu quả hơn cho việc quản lý nhiều phần tử. 

  • 0: Redis sẽ không sử dụng listpack (không nén các list) để lưu trữ phần tử trong list, bất kể số lượng phần tử trong list là bao nhiêu. Redis mặc định sử dụng quicklist để lưu trữ các phần tử trong list. 
  • Giá trị khác 0 (N): Redis sử dụng listpack và sẽ chuyển từ listpack sang sử dụng quicklist nếu một list có nhiều hơn N phần tử.
set-max-intset-entries 512

Type: integer 

0 - 2147481647

Cấu hình chỉ định số lượng phần tử số nguyên tối đa có thể lưu trữ trong một set dưới dạng cấu trúc dữ liệu Intset (sử dụng để tối ưu bộ nhớ khi lưu trữ tập hợp các giá trị kiểu số nguyên trong Set). Khi số lượng phần tử trong set vượt quá giá trị này, Redis sẽ chuyển đổi Intset thành hashtable, một cấu trúc dữ liệu hiệu quả hơn cho việc quản lý nhiều phần tử. 

  • 0: Redis sẽ không sử dụng Intset để lưu trữ phần tử số nguyên trong set, bất kể số lượng phần tử trong set là bao nhiêu. Redis mặc định sử dụng hashtable để lưu trữ các phần tử số nguyên trong set. 
  • Giá trị khác 0 (N): Redis sử dụng Intset và sẽ chuyển từ Intset sang sử dụng hashtable nếu số lượng phần tử số nguyên trong set lớn hơn N. 
hll-sparse-max-bytes 1000

Type: integer 

0 - 16000

Cấu hình chỉ định kích thước tối đa của bộ nhớ (đơn vị là bytes) mà Redis sẽ dành cho việc lưu trữ dữ liệu HyperLogLog (HLL là cấu trúc dữ liệu xác suất được Redis sử dụng để ước tính số lượng phần tử duy nhất (cardinality) trong một set mà không cần phải lưu trữ tất cả các phần tử) trong chế độ sparse (sử dụng một cấu trúc dữ liệu tối ưu hóa bộ nhớ để ước tính cardinality khi số lượng phần tử duy nhất trong set là nhỏ). Khi kích thước bộ nhớ sử dụng cho HLL vượt quá giới hạn này, Redis sẽ chuyển sang chế độ dense (sử dụng một cấu trúc dữ liệu khác để duy trì độ chính xác cao hơn khi số lượng phần tử lớn) để tiếp tục ước tính số lượng phần tử duy nhất (cardinality) mà không tốn quá nhiều bộ nhớ. 

  • 0: Redis sẽ không giới hạn bộ nhớ cho chế độ sparse của HyperLogLog. 
  • Giá trị khác 0 (N): Redis sẽ sử dụng tối đa N (đơn vị bytes) bộ nhớ cho chế độ sparse của HyperLogLog. Nếu bộ nhớ dành cho HLL vượt quá giới hạn này, Redis sẽ tự động chuyển sang chế độ dense.
stream-node-max-bytes 4096

Type: integer 

0 - 2147481647

Cấu hình giới hạn kích thước tối đa (đơn vị bytes) bộ nhớ của mỗi node (bao gồm một hoặc nhiều cặp key-value, mỗi node đại diện cho một sự kiện như người dùng đăng nhập, một giao dịch, một bản ghi log,...) trong một Redis Stream (cấu trúc dữ liệu dạng log cho phép lưu trữ và quản lý các sự kiện theo thời gian thực). Khi một node vượt quá giá trị này, Redis sẽ tự động cắt bỏ (trimmed) dữ liệu, giúp quản lý bộ nhớ hiệu quả hơn khi có nhiều dữ liệu được ghi vào stream. 

  • 0: Không giới hạn bộ nhớ cho mỗi node trong một Redis Stream. 
  • Giá trị khác 0 (N): Dữ liệu lưu trữ tại mỗi node trong Redis Stream sẽ không thể vượt quá N (đơn vị bytes).
stream-node-max-entries 100

Type: integer 

0 - 2147481647

Cấu hình giới hạn số lượng cặp key-value có trong một node của Redis Stream. Nếu số lượng cặp key-value vượt quá giới hạn này, Redis sẽ tạo một node mới để chứa các cặp key-value tiếp theo thay vì thêm chúng vào node hiện tại. Điều này giúp Redis kiểm soát bộ nhớ khi một node có quá nhiều dữ liệu làm giảm hiệu suất của hệ thống. 

  • 0: Không giới hạn số lượng cặp key-value cho mỗi node trong một Redis Stream. 
  • Giá trị khác 0 (N): Redis giới hạn số lượng cặp key-value tại mỗi node trong Redis Stream không vượt quá N.
active-defrag-max-scan-fields 1000

Type: integer 

0 - 1000000

Cấu hình chỉ định số lượng field (mỗi field là 1 cặp key-value) mà Redis sẽ quét trong mỗi chu kỳ khi thực hiện active defragmentation (chống phân mảnh chủ động) đối với các đối tượng kiểu set/hash/zset/list, giúp tối ưu hóa việc sử dụng bộ nhớ và cải thiện hiệu suất Redis trong môi trường có nhiều thao tác ghi/xóa dữ liệu. 

  • 0: Redis sẽ không quét các field trong các đối tượng kiểu set/hash/zset/list khi thực hiện active defragmentation. Nếu hệ thống không gặp phải vấn đề phân mảnh bộ nhớ nghiêm trọng liên quan đến các đối tượng set/hash/zset/list thì có thể thiết lập giá trị này là 0 để tiết kiệm tài nguyên hệ thống. 
  • Giá trị khác 0 (N): Redis sẽ quét tối đa N field trong mỗi chu kỳ khi thực hiện active defragmentation. Giá trị này lớn có thể giúp giảm phân mảnh nhanh hơn nhưng có thể làm tăng tải CPU. 
activerehashing yes

Type: boolean 

yes, no

Cấu hình điều khiển việc kích hoạt quá trình rehashing tự động (quá trình di chuyển từ từ các cặp key-value trong một bảng băm (hash table) từ bảng cũ sang bảng mới, khi kích thước của bảng hash cũ không còn phù hợp với số lượng phần tử hiện tại) đối với các đối tượng kiểu hash. 

  • yes: Khi bật cấu hình này Redis sẽ tự động tái cấu trúc các đối tượng hash khi cần thiết, giúp giảm thiểu phân mảnh bộ nhớ và duy trì hiệu suất ổn định. 
  • no: Nếu cấu hình này bị tắt Redis sẽ không thực hiện rehashing tự động, điều này có thể dẫn đến việc bộ nhớ không được tối ưu khi các bảng hash thay đổi kích thước.
client-output-buffer-limit normal0 0 0

Type: string 

<hard limit> <soft limit> <soft seconds> <hard limit> (type: integer): 0, 1 - 2048mb <soft limit> (type: integer): 0, 1 - 2048mb <soft seconds> (type: integer): 0 - 2147481647

Cấu hình chỉ định bộ đệm đầu ra (output buffer) cho normal client (không phải client Pub/Sub) để đảm bảo rằng client không chiếm quá nhiều bộ nhớ trong trường hợp có quá nhiều dữ liệu được gửi. Điều này giúp ngăn ngừa tình trạng sử dụng tài nguyên hệ thống quá mức, đặc biệt khi Redis phải xử lý nhiều kết nối đồng thời. 

  • Định dạng cấu hình: <hard limit> <soft limit> <soft seconds> <hard limit> (đơn vị MB): Nếu bộ đệm đầu ra của một client đạt đến giá trị N đã chỉ định, client sẽ bị ngắt kết nối. 
  • Giá trị 0 nghĩa là không có hard limit. <soft limit> (đơn vị MB): Nếu bộ đệm đầu ra của một client đạt đến giá trị N đã chỉ định, client sẽ bị ngắt kết nối, nhưng chỉ nếu điều kiện này kéo dài trong thời gian được chỉ định bởi <soft seconds>. 
  • Giá trị 0 nghĩa là không có soft limit. <soft second> (đơn vị giây): Nếu bộ đệm đầu ra của một client duy trì ở mức <soft limit> lâu hơn N giây đã chỉ định, client sẽ bị ngắt kết nối. 
  • Giá trị 0 nghĩa là không có thời gian giới hạn.
client-output-buffer-limit pubsub32mb 8mb 60

Type: string

<hard limit> <soft limit> <soft seconds> <hard limit> (type: integer): 0, 1 - 2048mb <soft limit> (type: integer): 0, 1 - 2048mb <soft seconds> (type: integer): 0 - 2147481647

Cấu hình chỉ định bộ đệm đầu ra (output buffer) cho Pub/Sub client để đảm bảo rằng client không chiếm quá nhiều bộ nhớ trong trường hợp có quá nhiều dữ liệu được gửi. Điều này giúp ngăn ngừa tình trạng sử dụng tài nguyên hệ thống quá mức, đặc biệt khi Redis phải xử lý nhiều kết nối đồng thời. 

  • Định dạng cấu hình: <hard limit> <soft limit> <soft seconds> <hard limit> (đơn vị MB): Nếu bộ đệm đầu ra của một client đạt đến giá trị N đã chỉ định, client sẽ bị ngắt kết nối. 
  • Giá trị 0 nghĩa là không có hard limit. <soft limit> (đơn vị MB): Nếu bộ đệm đầu ra của một client đạt đến giá trị N đã chỉ định, client sẽ bị ngắt kết nối, nhưng chỉ nếu điều kiện này kéo dài trong thời gian được chỉ định bởi <soft seconds>. 
  • Giá trị 0 nghĩa là không có soft limit. <soft second> (đơn vị giây): Nếu bộ đệm đầu ra của một client duy trì ở mức <soft limit> lâu hơn N giây đã chỉ định, client sẽ bị ngắt kết nối. 
  • Giá trị 0 nghĩa là không có thời gian giới hạn.
hz10

Type: integer 

1 - 500 

Cấu hình chỉ định tần suất thực hiện của các background operation (loại bỏ các expired key, kiểm tra kết nối các client, AOF rewrite,...). Tăng giá trị hz: Tăng giá trị hz có thể giúp Redis thực hiện các background operation nhanh hơn giúp giảm độ trễ và cải thiện hiệu suất, nhưng cũng sẽ làm tăng tải CPU, hữu ích nếu có phần cứng mạnh và cần tối ưu hóa hiệu suất. Giảm giá trị hz: Giảm giá trị hz xuống giá trị thấp giúp giảm tải CPU nhưng có thể khiến việc xử lý background operation mất thời gian hơn. Điều này có thể chấp nhận được nếu ưu tiên tiết kiệm tài nguyên hệ thống và không yêu cầu các background operation phải xử lý quá nhanh.
dynamic-hz yes

Type: boolean 

yes, no

Cấu hình giúp tự động điều chỉnh tham số hz dựa trên tải CPU của hệ thống. Khi hệ thống ít tải, Redis tăng tần suất thực hiện background operation để cải thiện hiệu suất. Khi hệ thống có tải cao, Redis giảm tần suất để tiết kiệm CPU. 

  • yes: Redis tự động thay đổi giá trị của hz tùy thuộc vào tải CPU, giúp tối ưu hóa việc sử dụng tài nguyên hệ thống, cải thiện hiệu suất và giảm thiểu ảnh hưởng đến các tác vụ khác trong hệ thống. 
  • no: Redis sẽ không thay đổi giá trị của hz theo tải CPU của hệ thống mà sử dụng giá trị cố định đã cấu hình trong tham số hz. Tùy chọn này giúp tối ưu hóa hiệu suất trong môi trường có tải CPU cố định hoặc dễ dàng kiểm tra và giám sát rõ hơn về cách các background operation ảnh hưởng đến hiệu suất của hệ thống.
aof-rewrite-incremental-fsync yes

Type: boolean 

yes, no

Cấu hình chỉ định cách thức Redis thực hiện fsync (đồng bộ hóa file AOF với disk) trong quá trình AOF rewrite. 

  • yes: Nếu cấu hình này được bật khi Redis ghi các phần dữ liệu vào file AOF mới trong quá trình rewrite, nó sẽ thực hiện fsync cho từng phần (incremental), đảm bảo dữ liệu được ghi an toàn và đồng bộ hóa với disk một cách liên tục, giúp giảm độ trễ và tăng tính khả dụng của Redis. 
  • no: Khi tắt cấu hình này Redis sẽ chỉ thực hiện một lần fsync duy nhất sau khi toàn bộ quá trình rewrite file AOF đã hoàn tất. Mặc dù quá trình này có thể tăng tải I/O của disk và gây ra độ trễ trong quá trình rewrite, nhưng lại đơn giản hơn trong việc quản lý file AOF và không phải thực hiện nhiều lần fsync.
rdb-save-incremental-fsync yes

Type: boolean 

yes, no

Cấu hình chỉ định cách thức Redis thực hiện fsync (đồng bộ hóa file RDB với disk) trong quá trình snapshot file RDB. 

  • yes: Nếu cấu hình này được bật khi Redis ghi các phần dữ liệu vào file RDB mới trong quá trình snapshot, nó sẽ thực hiện fsync cho từng phần (incremental), đảm bảo dữ liệu được ghi an toàn và đồng bộ hóa với disk một cách liên tục, giúp giảm độ trễ và tăng tính khả dụng của Redis. 
  • no: Khi tắt cấu hình này Redis sẽ chỉ thực hiện một lần fsync duy nhất sau khi toàn bộ quá trình snapshot file RDB đã hoàn tất. Mặc dù quá trình này có thể tăng tải I/O của disk và gây ra độ trễ trong quá trình snapshot, nhưng lại đơn giản hơn trong việc quản lý file RDB và không phải thực hiện nhiều lần fsync.
notify-keyspace-events 

Type: string 

Chỉ được truyền những kí tự hoặc chuỗi có chứa kí tự sau: [""K"", ""E"", ""g"", ""$$ "", ""l"", ""s"", ""h"", ""z"", ""x"", ""e"", ""n"", ""t"", ""d"", ""m"", ""A""]

Cấu hình sử dụng một chuỗi ký tự để chỉ định các loại event (các event này có thể được liên kết với keyspace events (event liên quan đến keyspace) và keyevent events (event liên quan đến key)) mà Redis sẽ gửi thông báo đến client thông qua hệ thống Pub/Sub. Cấu hình này giúp giám sát và phân tích hoạt động của hệ thống, quản lý bộ nhớ và phản ứng theo thời gian thực khi có thay đổi dữ liệu tuy nhiên có thể giảm hiệu suất hệ thống khi có nhiều event (cân nhắc kỹ việc cấu hình các event cần thiết thay vì tất cả các event). Giá trị cấu hình có thể là ký tự hoặc chuỗi ký tự bao gồm các ký tự sau: 

  • K (Keyspace Events): Tất cả event liên quan đến keyspace được publish với tiền tố keyspace@<db> 
  • E (Keyevent Events): Tất cả event liên quan đến key được publish với tiền tố keyevent@<db> 
  • g: Các event không liên quan đến các command cụ thể, chẳng hạn như DEL, EXPIRE, và RENAME $$: Các event liên quan đến String command. 
  • l: Các event liên quan đến List commands 
  • s: Các event liên quan đến Set commands 
  • h: Các event liên quan đến Hash commands 
  • z: Các event liên quan đến Sorted set commands 
  • x: Các event liên quan đến Expired key (event khi một key hết hạn) 
  • e: Các event liên quan đến Eviction policy (event khi một key bị xóa do cơ chế eviction) 
  • A: thay cho chuỗi g$lshzxe 

VD: Chuỗi Kl có nghĩa là Redis sẽ gửi thông báo qua Pub/Sub đến clients về các event liên quan đến keyspace và list command. Chuỗi AKE có nghĩa là Redis sẽ thông báo qua Pub/Sub đến clients về tất cả event. Nếu thiết lập giá trị cấu hình này bắt buộc phải bao gồm ký tự K hoặc E. Ký tự A không thể đi cùng với một trong các ký tự ""g$lshzxe"". Nếu chuỗi là """" (null) thì Redis sẽ không gửi thông báo về bất kỳ event nào (không có event liên quan đến keyspace hoặc keyevent) khi có thay đổi trong dữ liệu.

replica-serve-stale-datayes

Type: boolean 

yes, no

Cấu hình kiểm soát việc Redis replica đọc dữ liệu cũ từ bộ nhớ (stale data đã được đồng bộ trước đó) trong trường hợp replica mất kết nối với master (do lỗi mạng, master gặp sự cố) hoặc không thể đồng bộ dữ liệu từ master. Cấu hình giúp cân bằng giữa tính sẵn sàng của hệ thống và tính chính xác của dữ liệu. 

  • yes: Nếu cấu hình này được bật, Redis replica vẫn có thể đọc dữ liệu cũ mà nó đã có trước đó, giúp giảm thiểu gián đoạn dịch vụ và tiếp tục đọc dữ liệu (read) ngay cả khi replica không đồng bộ với master. Tuy nhiên dữ liệu không phải là dữ liệu mới nhất từ master, gây ra rủi ro dữ liệu lỗi thời. 
  • no: Khi cấu hình này tắt thì Redis replica sẽ không đọc dữ liệu cũ và có thể trả về lỗi giúp đảm bảo rằng dữ liệu luôn chính xác và đồng bộ với master tuy nhiên gây gián đoạn dịch vụ nếu replica không thể kết nối với master, vì không có dữ liệu nào được đọc từ replica.
repl-diskless-syncyes

Type: boolean 

yes, no

Cấu hình quyết định việc sử dụng cơ chế diskless replication khi Redis thực hiện sao chép dữ liệu từ master sang replica. 

  • yes: Nếu bật cấu hình này Redis sẽ sử dụng cơ chế diskless replication, tức là master sẽ không ghi dữ liệu vào disk (snapshot file RDB vào disk) trước khi đồng bộ với replica và dữ liệu được truyền trực tiếp qua mạng. Tùy chọn này giúp giảm độ trễ, tăng tốc quá trình sao chép dữ liệu trong hệ thống có nhiều replica và giảm tải cho disk khi hệ thống có tải nặng. Tuy nhiên việc sử dụng cơ chế này có thể khó phục hồi dữ liệu sau sự cố vì Redis không ghi dữ liệu vào disk trong quá trình sao chép và tốn nhiều băng thông mạng. 
  • no: Khi cấu hình tắt, Redis sẽ không sử dụng diskless replication. Thay vào đó, dữ liệu sẽ được master ghi vào disk (snapshot file RDB vào disk) trước khi sao chép từ master sang replica.
repl-diskless-sync-delay5

Type: integer 

0 - 1600

Cấu hình xác định thời gian delay (tính bằng giây) trước khi bắt đầu sao chép dữ liệu từ master đến replica khi sử dụng cơ chế diskless replication (cơ chế giảm độ trễ và tối ưu hiệu suất trong quá trình sao chép dữ liệu từ master đến replica bằng cách không ghi dữ liệu vào disk trong quá trình sao chép). 

  • 0: Không có thời gian delay, quá trình sao chép sẽ bắt đầu ngay lập tức khi replica kết nối với master. 
  • Giá trị khác 0 (N): Redis sẽ trì hoãn quá trình sao chép trong N giây trước khi bắt đầu sao chép dữ liệu từ master đến replica. Việc này giúp tránh quá tải hệ thống khi số lượng replica yêu cầu sao chép dữ liệu từ master đồng thời lớn và đảm bảo có thời gian để các replica khác kết nối trước khi quá trình sao chép bắt đầu.
repl-disable-tcp-nodelayno

Type: boolean 

yes, no

 

Cấu hình quyết định việc sử dụng TCP_NODELAY khi replica sao chép dữ liệu từ master (replication) thông qua việc gửi các gói dữ liệu từ master được truyền qua kết nối TCP. 

  • yes: Nếu cấu hình này được bật, Redis sẽ tắt TCP_NODELAY. Điều này có nghĩa là Redis master sẽ gom các gói dữ liệu nhỏ lại và gửi đi trong một gói lớn hơn thay vì gửi mỗi gói nhỏ ngay lập tức, giúp giảm số lượng các gói TCP và giảm tải băng thông mạng. 
  • no: Khi tắt cấu hình này thì Redis sẽ bật TCP_NODELAY. Điều này sẽ giúp dữ liệu được gửi ngay lập tức mà không cần gom các gói lại với nhau, giúp giảm độ trễ và quá trình sao chép dữ liệu giữa master và replica nhanh hơn, hữu ích trong trường hợp hệ thống yêu cầu độ trễ thấp.
client-output-buffer-limit replica256mb 64mb 60

Type: string

<hard limit> <soft limit> <soft seconds> <hard limit> (type: integer): 0, 1 - 2048mb <soft limit> (type: integer): 0, 1 - 2048mb <soft seconds> (type: integer): 0 - 2147481647

Cấu hình chỉ định bộ đệm đầu ra (output buffer) cho replica để đảm bảo rằng replica không chiếm quá nhiều bộ nhớ trong trường hợp không thể xử lý dữ liệu đồng bộ từ master đủ nhanh (do băng thông mạng chậm, hiệu suất server,...), khiến bộ đệm này có thể ngày càng lớn hơn. Điều này giúp ngăn ngừa tình trạng sử dụng tài nguyên hệ thống quá mức, đặc biệt khi Redis phải xử lý nhiều replica kết nối và đồng bộ dữ liệu từ master. 

  • Định dạng cấu hình: <hard limit> <soft limit> <soft seconds> <hard limit> (đơn vị MB): Nếu bộ đệm đầu ra của một replica đạt đến giá trị N đã chỉ định, replica sẽ bị ngắt kết nối. 
  • Giá trị 0 nghĩa là không có hard limit. <soft limit> (đơn vị MB): Nếu bộ đệm đầu ra của một replica đạt đến giá trị N đã chỉ định, replica sẽ bị ngắt kết nối, nhưng chỉ nếu điều kiện này kéo dài trong thời gian được chỉ định bởi <soft seconds>. 
  • Giá trị 0 nghĩa là không có soft limit. <soft second> (đơn vị giây): Nếu bộ đệm đầu ra của một replica duy trì ở mức <soft limit> lâu hơn N giây đã chỉ định, replica sẽ bị ngắt kết nối. 
  • Giá trị 0 nghĩa là không có thời gian giới hạn.
cluster-allow-reads-when-downno

Type: boolean 

Yes, no

 

Cấu hình kiểm soát việc Redis Cluster xử lý read request từ client ngay cả khi một shard hoặc node bị lỗi (down) hoặc các read request sẽ bị chặn cho đến khi shard hoặc node đó phục hồi. 

  • yes: Redis Cluster sẽ cho phép read request được xử lý bởi các replica node ngay cả khi một node (master hoặc replica) của một shard bị lỗi (down). Tùy chọn này giúp tăng tính sẵn sàng của hệ thống, vì các read request từ client không bị gián đoạn khi có sự cố với một node. Tuy nhiên dữ liệu trên replica có thể không đồng bộ hoàn toàn với master, dẫn đến việc trả về dữ liệu không chính xác. 
  • no: Redis Cluster sẽ không xử lý read request khi một shard hoặc node bị lỗi (down). Các read request sẽ bị chặn cho đến khi node hoặc shard đó được phục hồi và hoạt động trở lại bình thường (khi dữ liệu trên master và replica đã được đồng bộ đầy đủ), giúp đảm bảo tính nhất quán và tính toàn vẹn của dữ liệu, nhưng có thể làm giảm tính sẵn sàng của hệ thống trong trường hợp có lỗi.
activedefragno

Type: boolean 

Yes, no

Cấu hình chỉ định cơ chế active defragmentation (tối ưu hóa việc sử dụng bộ nhớ bằng cách tái tổ chức lại các đối tượng trong bộ nhớ) giúp giảm thiểu sự phân mảnh bộ nhớ khi Redis thực hiện các thao tác thay đổi dữ liệu như thêm hoặc xóa phần tử trong các cấu trúc dữ liệu (ví dụ: string, set, sorted set). Phân mảnh bộ nhớ xảy ra khi bộ nhớ được cấp phát cho các đối tượng dữ liệu, nhưng sau khi thay đổi kích thước, bộ nhớ này có thể được sử dụng không hiệu quả, dẫn đến giảm tốc độ truy xuất dữ liệu và lãng phí bộ nhớ. 

  • yes: Bật cơ chế active defragmentation. Khi cấu hình này được bật thì Redis tự động thực hiện defragmentation khi xảy ra hiện tượng phân mảnh bộ nhớ. 
  • no: Tắt cơ chế active defragmentation
active-defrag-ignore-bytes104857600

Type: integer 

1048576 - 2147481647

Cấu hình chỉ định kích thước tối thiểu (đơn vị bytes) cho các đối tượng dữ liệu cần đạt được trước khi Redis bắt đầu thực hiện defragmentation trên chúng. Nếu một đối tượng có kích thước nhỏ hơn giá trị đã chỉ định trong cấu hình active-defrag-ignore-bytes, Redis sẽ bỏ qua đối tượng đó trong quá trình defragmentation. Cấu hình này hữu ích khi Redis bỏ qua các đối tượng dữ liệu có kích thước nhỏ (ví dụ như một số lượng phần tử nhỏ trong một set hoặc list có thể không gây ra vấn đề phân mảnh đáng kể) giúp giảm tải việc sử dụng tài nguyên hệ thống.
active-defrag-threshold-lower10

Type: integer 

1 - 100

Cấu hình chỉ định ngưỡng dưới của tỷ lệ phân mảnh bộ nhớ (memory fragmentation ratio) mà Redis sẽ bắt đầu quá trình defragmentation bộ nhớ. Redis sẽ bắt đầu thực hiện quá trình defragmentation khi tỷ lệ phân mảnh bộ nhớ nhỏ hơn N (%) được thiết lập qua cấu hình active-defrag-threshold-lower.Việc điều chỉnh ngưỡng này giúp Redis chỉ thực hiện defragmentation khi thực sự cần thiết, tránh việc thực hiện quá trình này khi bộ nhớ chưa phân mảnh nhiều giúp tiết kiệm tài nguyên hệ thống.
active-defrag-threshold-upper100

Type: integer 

1 - 100

Cấu hình chỉ định ngưỡng trên của tỷ lệ phân mảnh bộ nhớ (memory fragmentation ratio) mà Redis sẽ dừng quá trình defragmentation bộ nhớ. Redis sẽ dừng thực hiện quá trình defragmentation khi tỷ lệ phân mảnh bộ nhớ lớn hơn N (%) được thiết lập qua cấu hình active-defrag-threshold-upper. Cấu hình này giúp Redis ngừng quá trình defragmentation khi bộ nhớ đã bị phân mảnh quá mức, nếu Redis tiếp tục defragmentation khi tỷ lệ phân mảnh quá cao, có thể tốn rất nhiều tài nguyên hệ thống và quá trình phân mảnh không còn hiệu quả.
active-defrag-cycle-min5

Type: integer 

1 - 75

Cấu hình chỉ định thời gian tối thiểu giữa hai chu kỳ defragmentation liên tiếp trong Redis, giúp tránh việc Redis thực hiện quá nhiều chu kỳ defragmentation trong thời gian ngắn, điều này có thể gây ra quá tải tài nguyên (CPU, bộ nhớ) đặc biệt trong hệ thống có tài nguyên hạn chế. Thời gian tối thiểu giữa 2 chu kỳ defragmentation là N (millisecond) được thiết lập qua cấu hình active-defrag-cycle-min.
active-defrag-cycle-max75

Type: integer 

1 - 75

Cấu hình chỉ định thời gian tối đa mà Redis thực hiện một chu kỳ defragmentation, tránh sử dụng quá nhiều tài nguyên (CPU, bộ nhớ) vào việc thực hiện một chu kỳ defragmentation. Cấu hình giúp Redis duy trì hiệu suất và không làm giảm tốc độ của các tác vụ khác trong Redis (như truy vấn hoặc cập nhật dữ liệu). Thời gian tối đa cho một chu kỳ defragmentation là N (millisecond) được thiết lập qua cấu hình active-defrag-cycle-max.