php – Cassandra(CQL)select语句,其中’where’不起作用

我最近几天在使用Cassandra.我正在使用 PHPCassa库.

当我尝试使用以下代码时,它无法正常工作.

require_once('phpcassa/connection.php');
 require_once "phpcassa/columnfamily.php";

 // Create new ConnectionPool like you normally would
 $pool = new ConnectionPool("newtest");

 // Retrieve a raw connection from the ConnectionPool
 $raw = $pool->get();

 $rows = $raw->client->execute_cql_query("SELECT * FROM User WHERE KEY='phpqa'",cassandra_Compression::NONE);

 echo "<pre>";
 print_r($rows);
 echo "<pre>";

// Return the connection to the pool so it may be used by other callers. Otherwise,// the connection will be unavailable for use.
$pool->return_connection($raw);
unset($raw);

它没有返回,我也尝试过以下查询

$rows = $raw->client->execute_cql_query("SELECT * FROM User WHERE age='32'",cassandra_Compression::NONE);
$rows = $raw->client->execute_cql_query("SELECT * FROM User WHERE name='jack'",cassandra_Compression::NONE);

但是当我尝试的时候

$rows = $raw->client->execute_cql_query("SELECT * FROM User",cassandra_Compression::NONE);

给出正确答案,显示所有行.请告诉我,如何正确使用’WHERE’.

Keyspace细节

Strategy Class:     org.apache.cassandra.locator.SimpleStrategy
Strategy Options:   None
Replication Factor: 1

Ring

   Start Token: 6064078270600954295
   End Token: 6064078270600954295
   Endpoints: 127.0.0.1
在cassandra你不能像平时一样查询’table’.您需要为可能要查询的每个列设置二级索引.

假设我们有一张桌子:

key      | User |   Age 
----------+----------------
 phpqa    | Jack |   20

您可以直接在密钥上查询:

SELECT * FROM User WHERE key='phpqa';

但是要执行其他WHERE查询,您需要在WHERE子句中可用的列上使用二级索引.

您可以做些什么来使您的查询灵活变通:

> Secondary indexes如上所述.
>使用复合列作为键.如果您只想查询2-3列,那么这是一个好主意,但是阅读this article详细说明了如何以及何时使用复合键,这里有一个如何在phpcassa中实现它的链接.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


如何选择合适的 C++ Web 开发框架?
利用 C++ 框架构建高并发 Web 应用的策略
用 C++ 框架开发跨平台图形应用程序
golang框架中安全编码实践的最佳指南是什么?
golang框架与其他语言框架在设计理念上的区别有哪些?
C++ 图形框架与其他语言框架的比较
C++ 框架与其他 Web 开发框架的对比分析
使用 C++ 框架构建大型项目最佳实践
C++ 框架如何提高大型项目开发效率
C++ 框架中依赖注入的持续集成与部署工具
如何与社区协作和贡献到自定义 Golang 框架?
C++ 框架在大型项目中如何实现模块化开发
使用 C++ 框架开发跨平台 Web 应用
C++ 框架在大型项目中的优缺点
golang框架在性能上的优势体现在哪些方面?
C++ 框架在嵌入式系统内存优化中的优势
golang框架在人工智能与机器学习中的作用
如何扩展 Golang 框架以支持特定功能?
如何利用 Go Modules 和依赖项管理来自定义 Golang 框架?
Golang 框架中的性能优化技巧