问题标签 [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.
java - Java 属性中的键可以包含空白字符吗?
我们正在从数据库中获取属性(我们无法影响),并希望通过键/值映射来访问它们。我们面临的问题是其中一个属性键包含空白字符。
这 - 正确 - 解释如下
有没有办法在键中包含空格,这样它就不会被解释为分隔符?我想这种行为就像预期的那样,但我想我可以在这里尝试一下。
open-source - 具有高[存储]容量的开源键/值
我正在寻找满足以下要求的键/值存储:
- 开源
- C API(C++ 也可以)
- 酸
- 一定程度的崩溃恢复
- 每个文件的高[存储]容量
- 键和值都是任意二进制数据
- 嵌入式(如 DBM、SQLite 等)
GDBM 看起来特别有吸引力。datum
根据结构int dsize;
明确使用键和值大小限制为 2GB的事实,这很好。但是,我对 GDBM 的问题是我找不到任何关于数据库文件大小限制的文档。例如,Berkeley DB 提供高达 256TB 的数据库文件。如果这足够大,那么 GDBM 将是完美的。
有人知道 GDBM 文件大小上限吗?如果做不到这一点(或者如果它太小),你还能提出什么其他建议?这样的野兽存在吗?
objective-c - 对于 Objective-C 中用于访问 NSMutable 字典的每个循环
我发现在 Objective-C 中访问可变字典键和值有一些困难。
假设我有这个:
我可以设置键和值。现在,我只想访问每个键和值,但我不知道设置的键数。
在 PHP 中这很简单,如下所示:
在 Objective-C 中怎么可能?
php - 我为在单台计算机上运行的 Web 应用程序设计了一个架构
我计划构建一个在单台计算机上运行的 Web 应用程序,并尽可能高效地利用硬件资源。app的逻辑不会很复杂。以下是我的设计:
操作系统:Linux(CentOS 5)
网络服务器:Nginx
网页脚本:PHP
资料库:东京内阁+东京暴君
索引:狮身人面像
我不会使用诸如 MySQL 之类的 RDBMS,因为我认为带有索引器 (Sphinx) 的键值存储 (Tokyo cabinet) 将满足部署普通 Web 应用程序的所有需求,而且性能也比 MySQL 更好。
我的问题是:这种设计是单台计算机的高效架构吗?或者如何改进?
(我知道这个问题可能是主观的,但我真的需要你的帮助)
非常感谢~
编辑:
我要托管我的应用程序的计算机是普通PC,例如8GB~16GB内存,500G~1TB硬盘等。我认为它不需要考虑“可扩展性”。Web 应用程序的每一个第一步都是从一台机器开始的,而且它总是从头开始。
nosql - Cassandra 时间序列数据
我们正在研究使用 Cassandra 来存储来自各种来源的信息流。
我们面临的一个问题是在两个日期之间进行查询的最佳方式。
例如,我们需要检索 datetime dt1 和 datetime dt2 之间的对象。
我们目前正在考虑将创建的 unix 时间戳作为指向实际对象的键,然后使用 get_key_range 进行查询以检索?
显然,如果两个项目具有相同的时间戳,这将不起作用。
一般来说,这是在 noSQL 存储中执行日期时间的最佳方法吗?
activerecord - 是否有像 JDBC 一样的 NoSQL / 键值存储抽象库用于数据库?
我使用过许多 SQL 抽象库,例如 ODBC、JDBC 和 ActiveRecord。NoSQL / 键值存储世界中有哪些抽象选项?
我主要是问这个问题,以便如果我选择键值存储,那么我可以使用抽象库而不是被锁定,考虑到周围键值存储的数量,我认为这很重要。
relational-database - 如何在基本键值存储上实现大型关系数据库模式?
如何在键值存储上实现大型关系数据库模式?
以下是要求:
1) 不使用存储过程或特殊数据库供应商的特定功能
2) 使用索引
3) 使用连接
4) 表中的许多复杂类型(VARCHAR、INT、BLOB 等)
5) 数十亿条记录
6) 全文检索
7) 可以进行时间戳备份
8) 不需要事务(仅限原子单行/字段更新)
database - 用键值存储中的索引模拟数据库表的最简单方法是什么?
用键值存储中的索引模拟数据库表的最简单方法是什么?键值存储没有范围查询和有序键。
我想模拟的东西(按优先顺序):
- 创建表
- 添加列
- 创建索引
- 基于主键的查询
- 基于任意列的查询
xaml - 在 xaml 中创建字典?
伪示例:
api - 这个 API 是不是太简单了?
有大量可用的键值对存储。目前你需要选择一个并坚持下去。我相信一个独立的开放 API,不是由键值存储供应商制作的,将使存储之间的切换变得更加容易。
因此,我正在构建一个数据存储抽象层(如 ODBC,但专注于更简单的键值存储),以便有人构建一次应用程序,并在必要时更改键值存储。这个 API 是不是太简单了?
到目前为止,我看到的所有 API 似乎都增加了很多,我想知道需要多少额外的方法?
我收到一些回复说 set(null) 可以用来删除一个项目,如果 get 返回 null 那么这意味着一个项目不存在。这很糟糕,有两个原因。首先,混合返回类型和状态不是很好,其次,不是所有的语言都有 null 的概念。看:
是否所有编程语言都有明确的 NIL、null 或 undefined 概念?
我确实希望能够对数据执行多种类型的操作,但据我了解,一切都可以建立在键值存储之上。它是否正确?我也应该提供这些增值功能吗?例如:像 mapreduce 或索引
在内部,我们已经在 Erlang 和 Ruby 中有一个基本版本,它为我们节省了大量时间,还使我们能够测试不同键值存储的特定用例的性能