2011-09-28 34 views
5

Redis có các cài đặt sau:Redis bỏ qua maxmemory thiết

"cấu hình được maxmemory"

1) "maxmemory" 
2) "2147483648" 

(đó là 2G)

Nhưng khi tôi làm "thông tin"

used_memory:6264349904 
used_memory_human:5.83G 
used_memory_rss:6864515072 

Rõ ràng nó bỏ qua tất cả các thiết lập ... Tại sao?

P.S.

"cấu hình được maxmemory chính sách" cho thấy:

1) "maxmemory-policy" 
2) "volatile-ttl" 

và: "cấu hình được maxmemory-mẫu" show:

1) "maxmemory-samples" 
2) "3" 

gì có nghĩa là, họ nên hết hạn phím với ngày hết hạn gần nhất ...

Trả lời

0

Theo http://redis.io/topics/faq

Bạn cũng có thể sử dụng tùy chọn "maxmemory" trong tệp cấu hình để đặt giới hạn cho bộ nhớ Redis có thể sử dụng. Nếu giới hạn này đạt đến Redis sẽ bắt đầu trả lời với một lỗi để viết các lệnh (nhưng sẽ tiếp tục chấp nhận các lệnh chỉ đọc).

+0

Theo: config được maxmemory chính sách 1) "maxmemory chính sách" 2) "dễ bay hơi-ttl" và: config get maxmemory-mẫu 1) "maxmemory-mẫu" 2) "3" Họ sẽ hết hạn khóa với ngày hết hạn gần nhất ... – alexeypro

2

Bạn có cài đặt hết hạn trên tất cả các khóa của mình không? volatile-ttl sẽ chỉ xóa các khóa bằng một tập hợp hết hạn. Điều này sẽ có trong đầu ra thông tin của bạn.

Nếu bạn không có bộ ttls hết hạn, hãy thử allkeys-lru hoặc allkeys-random cho chính sách của bạn.