Tôi có "TABLE A"
trong cơ sở dữ liệu chứa 3 cột "COL 1" , "COL 2" and "COL 3"
với khoảng 1000000
(1 triệu) bản ghi.Lưu trữ dữ liệu trong bộ nhớ
Against bảng này tôi đã ánh xạ đơn giản POJO
phép nói "ClassA"
với 3 biến dụ "var1" , "var2" , "var3"
và cũng xác định có set()
và get()
phương pháp.
Ứng dụng của tôi chứa các JSP, Servlets và POJO đơn giản không có khung công tác lạ mắt và không có công nghệ nào khác. Điều tôi thực sự muốn là khi lần đầu tiên ứng dụng của tôi sẽ được triển khai trên Máy chủ ứng dụng và yêu cầu đầu tiên mà nó nhận được, chỉ cho yêu cầu đó (chỉ 1 lần) Servlet của tôi sẽ nhận được 1 Triệu bản ghi từ TABLE A
, ánh xạ ClassA với những bản ghi này và bắt đầu điền các đối tượng cho ClassA
và giữ chúng trong Vector hoặc ArrayList
, vì bạn có thể đã hiểu rằng Vector/ArrayList
của mình bây giờ sẽ chứa 1 triệu đối tượng với mỗi đối tượng đại diện cho record/tupple
trong "TableA"
. OK, bây giờ đến phần thực sự và khó khăn, tôi muốn điều này Vector/ArrayList
là stored/persisted/added
đến ngữ cảnh ứng dụng hoặc máy ảo hoặc bất kỳ vị trí lưu trữ bộ nhớ nào khác (thực sự tôi không biết), để mỗi lần JSP pages/Servlets
của tôi đang truy cập đối tượng trong bộ nhớ nhận dữ liệu và không truy cập cơ sở dữ liệu mỗi lần.
tại sao không sử dụng một cơ sở dữ liệu trong bộ nhớ như HSQLDB , sẽ hoạt động như một bộ nhớ cache và bạn có thể sử dụng các câu lệnh SQL yêu thích của mình - điền nó vào thời gian khởi tạo ứng dụng của bạn. Tùy chọn khác là sử dụng giải pháp bộ nhớ cache như JBoss infinispan. –