Php 以Riak格式将数据存储为JSON

Php 以Riak格式将数据存储为JSON,php,nosql,riak,Php,Nosql,Riak,我最近开始在PHP中使用Riak 我到底如何存储JSON数据?!我是否只是将JSON字符串推送到Riak对象中 Riak PHP客户端具有以下用于存储数据的功能: require_once('riak-php-client/riak.php'); # Connect to Riak $client = new RiakClient('127.0.0.1', 8098); # Choose a bucket name $bucket = $client->bucket('test');

我最近开始在PHP中使用Riak

我到底如何存储JSON数据?!我是否只是将JSON字符串推送到Riak对象中

Riak PHP客户端具有以下用于存储数据的功能:

require_once('riak-php-client/riak.php');

# Connect to Riak
$client = new RiakClient('127.0.0.1', 8098);

# Choose a bucket name
$bucket = $client->bucket('test');

# Supply a key under which to store your data
$person = $bucket->newObject('riak_developer_1', array(
    'name' => "John Smith",
    'age' => 28,
    'company' => "Facebook"
));

# Save the object to Riak
$person->store();
这采用键数组数据的形式。那么在JSON的情况下,会像下面这样吗

# Supply a key under which to store your data
$person = $bucket->newObject('riak_developer_1', '{"name": "John Smith", "age": "28", "company": "Facebook"}';
我正试图找到在需要使用Riak的搜索功能时存储数据的最佳方法。我也不确定map reduce是否能以这种方式更好/更快地工作


提前感谢。

默认情况下,数组已在
RiakObject->store()中转换为JSON;你什么都不用做

如果您查看PHP客户端源代码,您将看到当
jsonize
TRUE
时,
json\u encode()
正在
store()
方法中使用
json\u encode>(使用
RiakBucket->newObject()
):

如果要在浏览器中执行以下操作(存储阵列后):

你会回来的:

{“姓名”:“约翰·史密斯”,“年龄”:28,“公司”:“脸谱”}


当您使用PHP客户机从Riak中提取数据时,它的操作与此相反,最终得到的是原始PHP数组

非常感谢。我实际上没有看过PHP源代码。这让事情变得更清楚了。干杯。别担心——我们应该在文件中明确这一点。我会记下来的;我有一些PHP客户端文档需要更新。