在服务器端提供指纹比较的最佳方法

时间:2015-10-12 13:19:19

标签: c# database memory-management asp.net-web-api fingerprint

我将通过WebAPI从服务器端提供指纹认证。以下代码是指纹比较部分。

var allFingerprints = container.Fingerprints.OrderByDescending(p=>p.FingerprintID);

List<Fmd> fmdList = new List<Fmd>();

foreach (var fp in allFingerprints)
{
    fmdList.Add(Fmd.DeserializeXml(fp.FMD));
}

IdentifyResult identifyResult = Comparison.Identify(customerFmd, 0, fmdList, thresholdScore, 2);

如果DB中有少量(<3000)指纹,我认为从DB读取指纹并进行比较是可以的。但是,如果指纹的数量越来越大,服务器稍后会从客户端获得大量API调用,那么从数据库读取指纹并进行比较的最佳方法是什么?我是否必须将指纹列表保留在内存中并进行比较?感谢您提前提出的宝贵意见。

1 个答案:

答案 0 :(得分:0)

如果您使用EF,某些信息将自动存入内存。但是如果你想制作自己的结构,请使用字典而不是列表。您也可以使用redis来实现此目的。