hashtable - 哈希表在数据库或服务器代码上实现在哪里?
问题描述
我正在阅读哈希表和数据结构,我想到了一个问题。哈希表在哪里实现?它是在服务器代码还是数据库上?
我读过的资源似乎在服务器代码上实现了它们,但是存储数据不是数据库的工作吗?PS:我还没有达到了解非sql数据库的地步,也许这就是我缺乏知识的地方。
解决方案
许多应用程序需要在内部存储一些数据,即使它们有时也在使用或更新数据库中的数据。通常,他们甚至会从远程(通过网络)数据库检索相关数据,并将其保存在本地计算机的 RAM 中,以便应用程序快速访问。
其他时候,应用程序可能使用诸如哈希表之类的数据结构来支持一些不属于业务数据模型的应用程序行为,因此不属于数据库。例如,当鼠标悬停在小部件/按钮/任何东西上时,GUI 应用程序可能会显示帮助字符串——它们可能存储在一个哈希表中,该哈希表以某个 GUI 对象标识符、屏幕区域或任何 GUI 库认为对帮助有用的内容为关键字它会在正确的时间显示工具提示。另一个应用程序可能会保留通过抓取某些网站生成的用户名和活动统计表 - 它可能会按需将它们显示给用户,或聚合它们或其他东西,而不会将它们保存到数据库中(历史数据可能没有值,它可以再次抓取网站)。
总之,重要的程序倾向于使用哈希表来提供对他们咨询或操作的数据的快速访问,无论程序本身是数据库、也使用数据库的应用程序,还是在没有任何数据库支持的情况下运行的应用程序。
推荐阅读
- linux - 无法在 Linux 中使用自动化脚本连接到 ssh-agent
- python - Python3 字节值写入 Postgres 字符串字段。如何恢复价值?
- simple-peer - 当我 addTrack(ex.screenShare track) - simple-peer 时 peer.on('signal') 再次调用
- perl - 创建 perl 脚本以远程连接到另一台服务器并读取文件?
- javascript - ': await 仅在异步函数中有效'
- c# - 通过单击 C# 中的按钮从用户指定的表中删除一行
- android - 插入新的 Firebase 数据后,RecycerView 总是重置回第一个位置
- apache-spark - AttributeError:“StructType”对象在写入镶木地板文件时没有属性“_get_object_id”
- express - 添加 mongoDB 连接代码后,Kubernetes 集群中出现 502 Bad Gateway
- c# - 带有身份验证的 C# Http 请求