【问题标题】:How to create namespace in Aerospike DB from php client如何从 php 客户端在 Aerospike DB 中创建命名空间
【发布时间】:2017-08-14 18:00:02
【问题描述】:

如何在 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 呢?

【问题讨论】:

    标签: php namespaces aerospike


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      命名空间是一种服务器端配置。它不能通过客户端动态定义/创建。

      【讨论】:

      • 我可以通过 AQL 提示创建命名空间吗?如果是,那怎么办?
      • 正如 pgupta 回答的那样,没有。它只在服务器自己的 conf 文件中创建和定义。
      猜你喜欢
      • 2018-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-19
      相关资源
      最近更新 更多