問題タブ [leveldb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3495 参照

haskell - LevelDB データベースからすべてのキーを取得する

すべてのビットコイン ブロックのハッシュを収集するスクリプトを作成しています。プログラム bitcoind は、特定の設定が変更された場合、すべてのブロックのメタデータを LevelDB データベースに保存します。メタデータの各セットのキーはブロックのハッシュであり、通常はブロックの識別子として使用されます。基本的に、各ブロックからメタデータ (トランザクション ID) の特定の部分を取得しようとしています。私が書いているスクリプトは Haskell ですが、必要に応じていつでもシェル コマンドを実行できます。私の問題を大まかに言えば、これを行う最も簡単な方法が、すべてのブロック ハッシュ (キー) を見つけてから、bitcoind を呼び出してそれぞれのメタデータを取得することかどうかはわかりません。LevelDB データベースからすべての値を直接取得する方法があれば、それも同様に機能します。これを行う最も簡単で効率的な方法は何ですか?

0 投票する
2 に答える
3646 参照

nosql - LevelDB にはキーの最大長制限がありますか?

LevelDB キーにキーの長さの制限はありますか?

URLをキーにしてデータを保存したい。したがって、このURLは非常に非常に長くなる可能性があります。

0 投票する
3 に答える
1306 参照

c - C のエントリ数と重複キー leveldb

キーを上書きしない良い戦略は何ですか?

同じキーでPut操作を 2 回実行するとします。現在、エラーは発生しませんが、古い値を上書きします。

古い価値観を維持したい。

1 つのオプションは、上書きか挿入かを確認するためだけに、 Putごとに追加の読み取りを行うことです。ただし、この場合、最初の要素については、データベースのサイズも確認する必要があります。私の str は増分文字列であるため、同じコードの次の反復では同じキーが異なる str になります。

0 投票する
1 に答える
940 参照

android - 再起動すると、FileChannel.map() で Galaxy S4 の外部ストレージに書き込まれたファイルが破損します

次の問題があります。

私たちの Android アプリは、LevelDBを使用してデバイスの外部ストレージにファイルを書き込みます。LevelDBは内部的mmapに書き込みに使用します。これまでのところ、問題はSamsung Galaxy S4でのみ発生します。ファイルは問題なくストレージに読み書きされます。しかし、デバイスの再起動後、ファイルが破損しています。

誰かが似たようなことを経験しましたか?

問題があるかどうかを確認するために小さなデモアプリを作成しmmapましたが、実際には問題があるようです。デモ アプリには、アプリに同梱されている画像と、画像の下にあるボタンが表示されます。
ボタンが押された場合

  • FileChannel.map()イメージは(と同等mmap)を使用して外部ストレージに書き込まれます。
  • 画像は外部ストレージから読み込まれ、ボタンの下に表示されます。

ボタンが 1 回押され、画像が外部ストレージに書き込まれた後、アプリは画像の 2 つのコピーを表示します。これは、アプリを再起動した後でも機能します。ただし、Galaxy S4 の再起動後、外部ストレージのファイルが破損し、最初の画像のみが表示されます。

注: この問題は、ファイルが を使用して書き込まれた場合には発生せず、 Galaxy S4FileOutputStreamでのみ発生します。

LevelDBを使用してこの問題を回避する方法を誰かが知っていれば、それは素晴らしいことです。
問題を簡単に再現できるように、デモ アプリのコードを次に示します。

main.xml

StartActivity.java

0 投票する
1 に答える
2938 参照

scala - Scala SBT および JNI ライブラリ

Scalaライブラリを介して leveldb データベースを使用する単純なアプリを作成していleveldbjniます。私のbuild.sbtファイルは次のようになります。

AnObjectは、データベースの作成を担当します。残念ながら、プログラムを実行すると、フードの下でエクスプロイトするライブラリjava.lang.UnsatisfiedLinkErrorによって生成された が返されます。hawtjnileveldbjni

このエラーは、scala コンソールからも簡単にトリガーできます。

ライブラリがjarファイルから正しく抽出されているため、何が起こっているのか理解できませんが、何らかの理由でロードされていません。

問題はおそらく sbt が使用するクラスローダに関連していると思いますが、私は比較的 scala に慣れていないのでわかりません。

アップデート

何が犯人なのか、誰が犯人なのかはまだわかりません。とにかく、次のコマンドを実行できるため、ライブラリは実際に見つかり、正しくロードされています。

エラーは、ドキュメントinit()によると、定数フィールドとして注釈が付けられたすべての静的フィールドを定数値で設定する責任がある関数が原因です。次のように入力することで、例外を引き続きトリガーできます。hawtjni

0 投票する
1 に答える
186 参照

jms - Mule の ActiveMQ で LevelDB 永続性を実装するにはどうすればよいですか?

Mule で JMS ActiveMQ の levelDB を使用してメッセージ データ (ロギングなど) を永続化できますか? 「トランザクション」プロパティによって行われますか?

JMS トランザクション、XA トランザクションなどが見つかりました。しかし、そこにある値の使用法を理解できません。

例: JMS トランザクションの場合、Actions = ALWAYS_BEGIN、BEGIN_OR_JOIN、ALWAYS_JOIN、JOIN_IF_POSSIBLE を取得しました。

これらのアクションの用途は何ですか? :S

ありがとう。

0 投票する
1 に答える
164 参照

c++ - leveldb ソース コード、db_impl.cc が純粋仮想関数「DB::Delete」を実装する理由

統計と実装は次のとおりです。

統計: virtual Status Delete(const WriteOptions& options, const Slice& key) = 0;

埋め込む: Status DB::Delete(const WriteOptions& opt, const Slice& key) { WriteBatch batch; batch.Delete(key); return Write(opt, &batch); }

0 投票する
2 に答える
449 参照

go - レビゴの使い方

go で leveldb を使用したいのですが、次のコマンドで構築しようとしているlevigoツールを見つけます。

github.com/jmhodges/levigo を入手してください

その後、エラーで失敗しました:

次に、実行しようとします:

CGO_CFLAGS="-I/path/to/leveldb/include" CGO_LDFLAGS="-L/path/to/leveldb/lib" go get github.com/jmhodges/levigo

動作せず、ほぼ同じエラーが報告されます。誰が何が起こったのか、それを修正する方法を知っていますか? ありがとうございました。