Redis允許將數據存儲在16個不同的「數據庫」(0到15)中。有沒有一種方法可以利用每個數據庫的內存空間。 INFO命令僅列出每個數據庫的密鑰數量。每個數據庫的redis內存利用率
回答
不,您無法單獨控制每個數據庫。這些「數據庫」僅用於邏輯分區數據。
你可以做什麼(取決於你的具體要求和設置)是旋轉多個redis實例,每個實例執行不同的任務,每個實例都有自己的帶有內存上限的redis.conf
文件。磁盤空間不能被限制,至少不在Redis級別。
附註:請記住,16位數據庫編號沒有硬編碼 - 您可以在redis.conf
中設置它。
您可以通過數據庫得到近似的內存使用情況,應該是現實的10%以內。
我會試試,但我想說'在現實的10%以內',你說的比你的程序報告多10%,對嗎?使用調試對象爲每個鍵獲取serializedlength作爲[這個問題](http://stackoverflow.com/questions/7638542/redis-show-database-size-size-for-keys)表明,它會是一個更好的下界?我需要檢查。 – user209377
對於小物體,序列化長度是準確的。但對於較大的物體,這是非常不正確的。 Redis-rdb-tools反向工程師Redis的數據結構以找出所使用的內存。請參閱https://github.com/sripathikrishnan/redis-rdb-tools/blob/master/rdbtools/memprofiler.py中的評論以瞭解更多信息 –
我通過在Redis DB的所有密鑰上調用dump
並測量使用的總字節數來完成的。這會減慢你的服務器,並需要一段時間。看起來dump
返回的大小比實際的內存使用量小大約4倍。這些數字會讓你知道哪個數據庫使用最多的空間。
這裏是我的代碼: https://gist.github.com/mathieulongtin/fa2efceb7b546cbb6626ee899e2cfa0b
- 1. Redis:數據庫大小與內存比率?
- 2. GDI +內存利用率
- 3. 每個數據庫的redis保存選項 - 可能嗎?
- 4. 每天午夜W3WP內存和線程利用率
- 5. InfluxDB和Grafana內存利用率
- 6. Microsoft SQL Server內存利用率
- 7. 高交換內存利用率
- 8. EC2 CPU利用率vs內存
- 9. 字符串文字內存利用率
- 10. CouchDB與MongoDB(內存利用率)
- 11. Redis使用高內存小數據集
- 12. 500個http會話導致數據庫連接利用率低
- 13. 利用數據庫
- 14. Redis內存使用率與備份佔用的空間比較
- 15. Zookeeper vs內存數據網格與Redis
- 16. Redis數據庫存儲限制和HA
- 17. php數據庫 - 爲每個用戶存儲30天的數據
- 18. 決定從數據庫中提取多少個文件以便利用內存
- 19. Redis的多個數據庫性能
- 20. MySQL數據庫服務器中CPU利用率高
- 21. 使用redis存儲每小時數據的最佳方法
- 22. 在Java內存利用率方面使用Map的缺點
- 23. Postgresql - 每個用戶一個數據庫或每個用戶一個數據庫
- 24. 充分利用數據庫
- 25. 充分利用數據庫
- 26. 利用SQL數據庫
- 27. 充分利用數據庫
- 28. 充分利用數據庫
- 29. 內存數據庫vs圖數據庫
- 30. MongoDB,Riak和HyperTable(或HBase)的內存需求/利用率
這是另一種選擇,但我不知道如何在內存消耗爲每個實例的開銷。 – user209377
但是這是_the_ option –