[英]In java Spring Boot ,How to pass in-memory LDAPConnection object to ldapService in integration testing?
[英]in-memory storing and working with large data lists Spring Boot 2 java
我有一個應用程序,它可以處理大量的內存數據列表。 目前,我使用單例數據緩存結構,如下所示:
public class DataCache {
private final Map<String, Map<String, ArrayList<String>>> arraysMap = new HashMap();
private final Map<String, Map<String, Integer>> integerMap = new HashMap();
private final Map<String, Map<String, String>> stringMap = new HashMap();
private final Map<String, Map<String, MyObject>> arraysMap = new HashMap();
/**
* Map for boolean locks used to temporaly disable
* edition while the data changes.
*/
private final Map<String, Map<String, Boolean>> locksMap = new HashMap();
private DataCache() {
}
private static final DataCache dataCache = new DataCache();
public static DataCache getInstanceOf() {
return dataCache;
}
...getters/setters...
}
arraysMap
和myObjectMap
arraysMap
了大部分工作量-大約20-50 / s的列表操作,例如put
/ replace
/ delete
和myObjectMap
相似操作(所有對象的總和)。 在多線程上下文中訪問maps
。 最初,這種負載不是預期的,但似乎工作得很好。 但是,似乎數據復雜性以及負載都會增加。
問題是-切換到某個外部解決方案( redis
嗎?)合理還是保持即興創作就足夠了。 每個地圖的負載可能會增加到最大500 / s操作。 arraysMap
列表可以最大為200mb。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.