2012-06-17 57 views
1

我有一个应用程序临时存储关于用户的信息。我不想惹MySQL,因为它太过分了 - 我需要存储一个id,用户名和一些额外的字段。我需要能够通过id轻松查询,全部显示,或者为每个用户提供一个列表。临时存储/查询数据的最佳方法?

哈希映射可以正常工作,但在需要根据条件拉取列表时似乎效率低下。我对Java仍然相当陌生,但不是编程,有更好的数据库系统还是更适合我的任务的东西?

+0

你可以尝试一些简单的文件DBMS如SQLite – nidu

+0

这是一个Web应用程序(即Tomcat)?如果是这样,您可以使用会话临时保存数据,会话过期时会自动清除。 – DaveRlz

+1

请注意多线程问题。 – SLaks

回答

2

您可以使用像Apache Derby这样的内存数据库,它可以为您提供两全其美的解决方案:直接集成到您的应用程序以及数据库的全部功能。

2

可以使用内存中高速缓存(不含基于磁盘的存储) - 例如, HazelCast/Redis的/的EHCache。 HazelCast具有地图,多图,集合,列表和队列&主题(类似的功能在其他内存存储中可用)。如果您不希望使用Java集合/内存缓存,则还可以使用内存数据库,例如H2等。

0

您可以使用Hibernate imo。我使用java play framework,它使用H2作为数据库引擎。它可以像普通数据库引擎(HQL和SQL)一样在内存上运行db,不需要安装任何数据库服务器,如果需要,还可以将数据存储在简单的文件格式中。