如何从php客户端在Aerospike DB中创建名称空间
如何在Aerospike DB中为默认PHP客户端声明名称空间? 我已经查阅了网站上的文档,但找不到任何有用的东西 尽管您可以在如何从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或永不过期 #存储引擎内存#仅在内存中存储数据 } 但
名称空间{
#内存大小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
}