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.
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. –