问题标签 [key-value]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
80901 浏览

java - Java 属性中的键可以包含空白字符吗?

我们正在从数据库中获取属性(我们无法影响),并希望通过键/值映射来访问它们。我们面临的问题是其中一个属性键包含空白字符。

这 - 正确 - 解释如下

有没有办法在键中包含空格,这样它就不会被解释为分隔符?我想这种行为就像预期的那样,但我想我可以在这里尝试一下。

0 投票
1 回答
721 浏览

open-source - 具有高[存储]容量的开源键/值

我正在寻找满足以下要求的键/值存储:

  1. 开源
  2. C API(C++ 也可以)
  3. 一定程度的崩溃恢复
  4. 每个文件的高[存储]容量
  5. 键和值都是任意二进制数据
  6. 嵌入式(如 DBM、SQLite 等)

GDBM 看起来特别有吸引力。datum根据结构int dsize;明确使用键和值大小限制为 2GB的事实,这很好。但是,我对 GDBM 的问题是我找不到任何关于数据库文件大小限制的文档。例如,Berkeley DB 提供高达 256TB 的数据库文件。如果这足够大,那么 GDBM 将是完美的。

有人知道 GDBM 文件大小上限吗?如果做不到这一点(或者如果它太小),你还能提出什么其他建议?这样的野兽存在吗?

0 投票
7 回答
258853 浏览

objective-c - 对于 Objective-C 中用于访问 NSMutable 字典的每个循环

我发现在 Objective-C 中访问可变字典键和值有一些困难。

假设我有这个:

我可以设置键和值。现在,我只想访问每个键和值,但我不知道设置的键数。

在 PHP 中这很简单,如下所示:

在 Objective-C 中怎么可能?

0 投票
2 回答
128 浏览

php - 我为在单台计算机上运行的 Web 应用程序设计了一个架构

我计划构建一个在单台计算机上运行的 Web 应用程序,并尽可能高效地利用硬件资源。app的逻辑不会很复杂。以下是我的设计:

操作系统:Linux(CentOS 5)

网络服务器:Nginx

网页脚本:PHP

资料库:东京内阁+东京暴君

索引:狮身人面像

我不会使用诸如 MySQL 之类的 RDBMS,因为我认为带有索引器 (Sphinx) 的键值存储 (Tokyo cabinet) 将满足部署普通 Web 应用程序的所有需求,而且性能也比 MySQL 更好。

我的问题是:这种设计是单台计算机的高效架构吗?或者如何改进?

(我知道这个问题可能是主观的,但我真的需要你的帮助)

非常感谢~

编辑:

我要托管我的应用程序的计算机是普通PC,例如8GB~16GB内存,500G~1TB硬盘等。我认为它不需要考虑“可扩展性”。Web 应用程序的每一个第一步都是从一台机器开始的,而且它总是从头开始。

0 投票
1 回答
4255 浏览

nosql - Cassandra 时间序列数据

我们正在研究使用 Cassandra 来存储来自各种来源的信息流。

我们面临的一个问题是在两个日期之间进行查询的最佳方式。

例如,我们需要检索 datetime dt1 和 datetime dt2 之间的对象。

我们目前正在考虑将创建的 unix 时间戳作为指向实际对象的键,然后使用 get_key_range 进行查询以检索?

显然,如果两个项目具有相同的时间戳,这将不起作用。

一般来说,这是在 noSQL 存储中执行日期时间的最佳方法吗?

0 投票
4 回答
1833 浏览

activerecord - 是否有像 JDBC 一样的 NoSQL / 键值存储抽象库用于数据库?

我使用过许多 SQL 抽象库,例如 ODBC、JDBC 和 ActiveRecord。NoSQL / 键值存储世界中有哪些抽象选项?

我主要是问这个问题,以便如果我选择键值存储,那么我可以使用抽象库而不是被锁定,考虑到周围键值存储的数量,我认为这很重要。

0 投票
2 回答
588 浏览

relational-database - 如何在基本键值存储上实现大型关系数据库模式?

如何在键值存储上实现大型关系数据库模式?

以下是要求:

1) 不使用存储过程或特殊数据库供应商的特定功能

2) 使用索引

3) 使用连接

4) 表中的许多复杂类型(VARCHAR、INT、BLOB 等)

5) 数十亿条记录

6) 全文检索

7) 可以进行时间戳备份

8) 不需要事务(仅限原子单行/字段更新)

0 投票
3 回答
2815 浏览

database - 用键值存储中的索引模拟数据库表的最简单方法是什么?

用键值存储中的索引模拟数据库表的最简单方法是什么?键值存储没有范围查询和有序键。

我想模拟的东西(按优先顺序):

  1. 创建表
  2. 添加列
  3. 创建索引
  4. 基于主键的查询
  5. 基于任意列的查询
0 投票
4 回答
20934 浏览

xaml - 在 xaml 中创建字典?

伪示例:

0 投票
9 回答
480 浏览

api - 这个 API 是不是太简单了?

有大量可用的键值对存储。目前你需要选择一个并坚持下去。我相信一个独立的开放 API,不是由键值存储供应商制作的,将使存储之间的切换变得更加容易。

因此,我正在构建一个数据存储抽象层(如 ODBC,但专注于更简单的键值存储),以便有人构建一次应用程序,并在必要时更改键值存储。这个 API 是不是太简单了?

到目前为止,我看到的所有 API 似乎都增加了很多,我想知道需要多少额外的方法?

我收到一些回复说 set(null) 可以用来删除一个项目,如果 get 返回 null 那么这意味着一个项目不存在。这很糟糕,有两个原因。首先,混合返回类型和状态不是很好,其次,不是所有的语言都有 null 的概念。看:

是否所有编程语言都有明确的 NIL、null 或 undefined 概念?

我确实希望能够对数据执行多种类型的操作,但据我了解,一切都可以建立在键值存储之上。它是否正确?我也应该提供这些增值功能吗?例如:像 mapreduce 或索引

在内部,我们已经在 Erlang 和 Ruby 中有一个基本版本,它为我们节省了大量时间,还使我们能够测试不同键值存储的特定用例的性能