Java 需要对字符串搜索的设计提出建议

Java 需要对字符串搜索的设计提出建议,java,sql,string,search,memcached,Java,Sql,String,Search,Memcached,这是我的情况。我有一张表,上面有以下数据 Property_name Property_value -------------------------------------- prob_name_1 ,sdfsdf@ce.o,jfgj@ce.o, prob_name_2 ,sdfsf@ce.o,dsf@ce.o, prob_name_3 ,sdfsfss@ce.o,sdfsdf@ce.o, . . . . .

这是我的情况。我有一张表,上面有以下数据

Property_name Property_value
--------------------------------------
prob_name_1   ,sdfsdf@ce.o,jfgj@ce.o, 
prob_name_2   ,sdfsf@ce.o,dsf@ce.o, 
prob_name_3   ,sdfsfss@ce.o,sdfsdf@ce.o, 
.              .
.              .
.              .
prob_name_n    ,sdfsfss@ce.o,sdfsdf@ce.o, 
此表中可能有许多行,电子邮件将以逗号分隔的形式存储。属性_值将保持数据更新的最大值(2k)。我在最后一个属性中没有“n”,如果需要,我需要查找

我的问题是, 我需要在此数据中搜索电子邮件。当我们使用memcache工具来缓存这些数据时(它存储在
哈希表
),我们不使用查询。我没有什么想法。请给我推荐一个更好的

  • HashMap—属性名称和属性值的密钥对值。迭代它并检查值,直到找到为止
  • 迭代所有行并搜索,直到找到为止

  • 由于电子邮件地址不能进行数字排序,因此您的第二个选择将是最佳选择。如果您的意思是需要找到给定属性值的属性名称,也就是说


    如果列表可以任何方式排序,则可以使用二进制搜索方法。然而,订购电子邮件地址的唯一方法是按字母顺序排列,我认为这将花费更长的时间。

    您是否只需要证明在地图的值中存在给定的电子邮件地址?还是你需要知道它的钥匙?地图上大约有多少个条目?