2 つのクエリがあります。Cassandra テーブルから最初のページを取得するものと、後続のページを取得するものです。最初のものは次のようなものです:
select * from images_by_user where token(iduser) = token(5) limit 10 allow filtering;
連続するものは次のとおりです。
select * from images_by_user where token(iduser) = token(5) and imagekey > 90b18881-ccd3-4ed4-8cdf-d71eb99b3505 limit 10 allow filtering;
画像キーは最初のページの最後のものです。
テーブルには13行あります。最初のクエリは、cqlsh とアプリケーションの両方で 10 を返します (開発用の一貫性レベル 1)。2 番目のクエリは、クラッシュの結果のみを取得します。以下は、私がdjangoアプリケーションに持っているcassandraデータベースエンジンの設定です:
'ENGINE': 'django_cassandra_engine',
'NAME': 'xekmypic',
'HOST': 'localhost',
'OPTIONS': {
'replication': {
'strategy_class': 'SimpleStrategy',
'replication_factor': 1
},
'connection': {
'consistency': ConsistencyLevel.LOCAL_ONE,
'retry_connect': True
# + All connection options for cassandra.cluster.Cluster()
}
}
私が使用している cassandra のバージョンは doc-3.0.9 で、以下は私の仮想環境ピップ リストです。
cassandra-driver (3.9.0)
Cython (0.25)
Django (1.11)
django-cassandra-engine (1.1.0)
mysqlclient (1.3.10)
olefile (0.44)
Pillow (4.1.0)
pip (7.1.2)
python-memcached (1.58)
pytz (2017.2)
setuptools (18.2)
six (1.10.0)
2 番目のページでアプリケーションでは結果が返されないのに、cqlsh プロンプトでは返されるのはなぜですか?