我有一个用.NET构建的Web应用程序
在会话期间,用户必须访问从数据库填充的字典值。用户经常拨打电话。
我想减少HTTP调用,并希望将字典值带到客户端并从那里访问它。
我想了解在本地存储此字典值的最佳做法是什么,以便快速检索数据?
我正在尝试的实际操作类似于FaceBook对“@”的操作,因此当您编写@Name时,它会快速在数据库中进行搜索并用链接替换文本。就我而言,我有一组固定的数据要搜索,通常不超过10-15个名称 - 值对。
我打算在cookie中存储值,但不知道是否存在任何存储限制,并且也不知道检索的速度有多快。
非常感谢任何帮助。
谢谢
答案 0 :(得分:1)
如果字典是静态的,那么您可以使用JSON.stringify
和localStorage
来存储它。这样,用户只需在首次访问您的网站时加载它。在将其存储在localStorage
之后,我建议每次加载页面时使用JSON.parse
将其加载到JavaScript对象中以加快搜索速度,因为JavaScript对象的工作方式类似于哈希表。
然后,您可以在每次加载页面时添加一个简单的检查,以查看是否需要刷新字典。
var globalDictionaryHash = null;
function loadDictionary()
{
if (localStorage.getItem("my_dict") == null)
{
localStorage.setItem("my_dict", JSON.stringify(myObjectFromAJAXCall));
}
globalDictionaryHash = JSON.parse(localStorage.getItem("my_dict"));
console.log(globalDictionaryHash['key']);
}