2013-01-14 31 views
5

1000000 (1 Milyon) kayıtlarla "COL 1" , "COL 2" and "COL 3" 3 sütun içeren veritabanında "TABLE A" veritabanım var. Bu tabloda KarşıVerilerin belleğe kaydedilmesi

i basit POJO eşlenen 3 örnek değişkenleri "var1" , "var2" , "var3" ve orada da tanımlanan set() ve get() yöntemlerle "ClassA" diyelim var.

Uygulamam, hiçbir fantezi çerçevesi olmayan ve başka hiçbir teknolojiye sahip olmayan basit JSP'ler, Servlet'ler ve POJO'lar içeriyor.

Asıl istediğim, ilk defa, uygulamaum Uygulama Sunucusu'nda ve ilk istekte dağıtılacak, yalnızca bu istek için (yalnızca 1 kez) benim Servletim 1 olacaktı. TABLE A'dan gelen milyon kayıtları, ClassA'yı bu kayıtlarla eşler ve nesneleri ClassA için doldurmaya başlar ve Vector/ArrayList numaralı Vector/ArrayList öğesinin artık her bir nesneyi bir record/tupple temsil eden her nesne için 1 Milyon nesne içereceğini anladığınızdan, bir Vektör veya ArrayList içinde saklar. "TableA".

Tamam, şimdi gerçek ve zor parçaya gel, bu Vector/ArrayList'un uygulama bağlamına veya Sanal Makine'ye veya başka bir bellek depolama konumuna (aslında bilmediğim) olmasını istiyorum, böylece her seferinde benim JSP pages/Servlets, veri alma belleğindeki nesneye erişiyor ve veritabanına her seferinde vurmuyor.

+0

noDB neden böyle HSQLDB gibi bir bellek içi veri tabanını kullanmayan

Eğer Nesne Deposu gibi uygulanması bakabilirsiniz büyük nesneleri beri

,

Sen ehcache

veya bakmak isteyebilirsiniz, Önbellek görevi görecek ve en sevdiğiniz SQL deyimlerini kullanabilirsiniz - bunu uygulama başlatma zamanınıza yerleştirin. Diğer seçenek JBoss infinispan gibi önbellek çözümünü kullanmaktır. –

cevap

2

Sen Bahar da bir şekilde yardımcı olur ama yardımcı olup olmayacağını emin değil (see here) önbellekte veri depolamak için Kontrol arasında, İnversiyon Java Caching sistemin (see here) ya da EHCache kullanmak zorunda yığın hafızası sınırlı olduğundan, yığın halinde 1 milyon veri saklamak.

1

Doğru yapsam, ön belleğe ihtiyacınız var gibi görünüyor. Burada EHcache veya Infinispan'a bir göz atmanızı öneririz.

Umut bu ben size nesneleri önbelleğe almak bir şekilde arıyoruz düşünüyorum

0

yardımcı olur.