我有一個redis實例,它在內存中不斷增長,以至於出現了一些明顯與我的應用程序邏輯錯誤的地方,我有成千上萬個密鑰並想知道這是內存的最大用戶。有解決這個問題的技術嗎?在Redis中查找最大值 - 目前使用太多內存
回答
使用Redis的-RDB工具 - https://github.com/sripathikrishnan/redis-rdb-tools
使用-c memory
標誌,您將得到每個密鑰使用的近似內存的csv文件。它旨在解決您面臨的確切問題。
我認爲,要走的路並不是找到哪個密鑰最大,而是你的密鑰具有哪些特徵 - 即它們擁有哪種數據。
Redis是而不是作爲關係數據庫的替代品,它是一個互補層(非常重要且有用,但仍然是互補的)。您可以用各種方式加速對應用程序中數據的訪問。這意味着在一天結束時,Redis應該不包括的所有內容,但只包含最常用的數據和/或一般統計和聚合。
我不知道您的應用程序域,但嘗試尋找到期爲鍵,爲開始。不常訪問的密鑰最終應該被刪除。
作爲進一步的一步,我會檢查冗餘密鑰,也就是說 - 相同的數據以多種形式保存。
注意: Redis中的冗餘絕對沒有錯,事實上這是一個推薦的模式(使用Redis而沒有標準化,有利於每個給定查詢的訪問速度)。我建議的是,您可能會發現某些類別的密鑰對其他密鑰完全無用,即它們不會增加速度優勢,只會使您的Redis數據庫膨脹。
嘗試看看一些可能幫助你探索你的運行Redis的實例Redis的GUI應用程序:
謝謝,但我實際上只是尋找一種方法來檢查我沒有在redis 10meg列表的負載。 –
爲什麼不只是手動運行所有列表鍵並測試每個鍵?您可以使用'LLEN'來檢查列表長度(項目數量),或者您可以進一步檢索所有成員並計算其內部長度。我不擔心性能,它只是用來調試你的系統。 –
我基本上是在尋找一種我不必自己寫的工具。 redis-rdb-tools是完美的。 –
- 1. 最大內存redis heroku django
- 2. Solr使用太多內存
- 3. 在bigquery中查找多個值的最小值和最大值
- 4. 在24小時內查找最大值
- 5. Redis佔用了太多內存,爲什麼我們使用它?
- 6. 在CUDA中查找最大值
- 7. PHP使用太多內存
- 8. 多維查找最大值MongoDB中
- 9. 我想寫一個SQL嵌套查詢,發現/使用最大值來查找最大值之前的條目
- 10. 在數據結構中查找最大值最大值和最大鍵值
- 11. 在C/NDK中使用太多內存?
- 12. 如何設置Redis可以使用的最大內存大小?
- 13. 在where子句中顯示最小值,最大值=值太多?
- 14. 在Matlab中查找最大值
- 15. Python:在csv中查找最大新值
- 16. iPhone:多少內存使用量太多?
- 17. SBT使用太多內存
- 18. 如何設置Redis最大內存?
- 19. Heroku的Redis的最大內存錯誤
- 20. 使用太多內存的OpenCL程序
- 21. 在表中查找最大值
- 22. 使用Python從文件中查找多個最大值
- 23. 在VBA中查找列的最大值
- 24. 在arraylist元素中查找最大/最小值條目
- 25. 查找最大的空閒內存塊
- 26. SQLServer使用太多的內存
- 27. 如何在IntList中查找最大值?
- 28. 在Spark中查找最大值RDD
- 29. 查找最小值和最大值JAVA
- 30. 在動態範圍內查找多個最小值和最大值
可能重複[在Redis中查找最大對象的最簡單方法是什麼?](https://stackoverflow.com/questions/13673058/what-is-the-easiest-way-to-find-the-最大的對象在redis) –