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

如何从php客户端在Aerospike DB中创建名称空间,php,namespaces,aerospike,Php,Namespaces,Aerospike,如何在Aerospike DB中为默认PHP客户端声明名称空间? 我已经查阅了网站上的文档,但找不到任何有用的东西 尽管您可以在 名称空间{ #内存大小4G#用于索引和数据的4GB内存 #复制系数2#对于多个节点,保留2份数据副本 #高水位存储器pct 60#如果容量超过,则逐出非零TTL数据 #4GB容量的60% #停止写入pct 90#如果容量超过4GB的90%,则停止写入 #默认ttl 0#来自不提供ttl的客户端的写入 #将默认为0或永不过期 #存储引擎内存#仅在内存中存储数据 } 但

如何在Aerospike DB中为默认PHP客户端声明名称空间? 我已经查阅了网站上的文档,但找不到任何有用的东西

尽管您可以在

名称空间{
#内存大小4G#用于索引和数据的4GB内存
#复制系数2#对于多个节点,保留2份数据副本
#高水位存储器pct 60#如果容量超过,则逐出非零TTL数据
#4GB容量的60%
#停止写入pct 90#如果容量超过4GB的90%,则停止写入
#默认ttl 0#来自不提供ttl的客户端的写入
#将默认为0或永不过期
#存储引擎内存#仅在内存中存储数据
}

但是如何使用PHP呢?

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

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

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


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

我可以通过AQL提示符创建名称空间吗?如果是,那么怎么做?正如pgupta回答的,不是。它只在服务器自己的conf文件中创建和定义。
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
}