如何从 php 客户端在 Aerospike DB 中创建命名空间

How to create namespace in Aerospike DB from php client

如何在 Aerospike DB 中为默认 PHP 客户端声明命名空间? 我已经浏览了 http://www.aerospike.com/docs/client/php 的文档,但找不到任何有用的东西。

尽管您可以在 http://www.aerospike.com/docs/operations/configure/namespace

找到以下代码
namespace <namespace-name> {
    # memory-size 4G           # 4GB of memory to be used for index and data
    # replication-factor 2     # For multiple nodes, keep 2 copies of the data
    # high-water-memory-pct 60 # Evict non-zero TTL data if capacity exceeds
                               # 60% of 4GB
    # stop-writes-pct 90       # Stop writes if capacity exceeds 90% of 4GB
    # default-ttl 0            # Writes from client that do not provide a TTL
                               # will default to 0 or never expire
    # storage-engine memory    # Store data in memory only
}

但是我该如何使用 PHP 呢?

命名空间是一种服务器端配置。不能通过客户端动态defined/created。

你上面引用的是配置文件语法和配置文件中的命名空间节(入口)。 (默认为 /etc/aerospike/aerospike.conf。)

创建命名空间的唯一方法是编辑 aerospike 配置文件并重新启动服务器。命名空间定义了您将如何存储数据(仅内存或 SSD 或文件或内存+持久性)并确定复制因子以及其他默认策略。其中一些命名空间参数必须在所有节点上都相同,例如复制因子——它是一个分布式数据库!因此,对名称空间的更改(3.13 版之前)需要在集群范围内重新启动。

从 Ver 3.14 开始,您可以逐个节点对命名空间进行滚动更新,而不必关闭整个集群来修改命名空间。