gpt4 book ai didi

c# - 将基于 SQL 的应用程序转换为 Redis

转载 作者:可可西里 更新时间:2023-11-01 11:22:26 25 4
gpt4 key购买 nike

我有一个基于 MS SQL 的应用程序,其主要目标是搜索公司表。这张公司表有几个可以搜索的列。像公司名称、地址、邮政编码、纬度、经度。

现在,由于对速度的需求,我正在考虑将其转换为基于 Redis 数据库的应用程序。任何人都可以帮助我采取哪种方法来正确地做到这一点?我应该如何设置我的 Redis 数据库?我应该如何查询它以找到公司名称中包含 tech 且位于 lat x-0.5 和 lat x+0.5 以及 long y-0.5 和 long y+0.5 之间的所有公司?

或者 Redis 可能不是用于此类或搜索的最佳 NOSQL 数据库?也欢迎其他建议。

最佳答案

Redis 是一种键/值存储,当您知道确切的键时速度非常快,但它在搜索多个键以查找特定值或值范围时非常糟糕。所以我不建议你使用 Redis。

当您想通过 GPS 坐标搜索时,MongoDB将是一个选项,因为 it has a rich API especially for geospatial searching .

当您需要快速且功能丰富的全文搜索时,您应该看看 Lucene ,它本身不是数据库,而是与其他数据库集成的工具。

顺便说一句:“NoSQL 是快速的”这句口头禅过于简单化了。诚然,特定的数据库在特定的前提下可以比任何关系型数据库都快很多,但也有相反的情况。

您真的确定您已经使用了所有可能的方法来提高您的 MSSQL 数据库的性能吗?

  • 您进行的每次搜索都使用适当的索引吗?
  • 所有的 JOIN 都是在明确的辅助键上进行的吗?
  • 您的数据库是否已正确规范化?
  • 您能否通过重构数据库设计来避免一些代价高昂的操作,即使这意味着您需要打破规范化?

关于c# - 将基于 SQL 的应用程序转换为 Redis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18621785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com