問題タブ [hiredis]
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.
database - 2 ノード Redis HA
アクティブ/アクティブ モードでサーバーとして実行したい 2 つのノードがあり、HA 機能も備えています。つまり、一方がダウンしている場合、もう一方がすべてのリクエストの受信を開始する必要がありますが、両方がアップしている間は、両方がすべてのリクエストを受け取る必要があります。Redis は同じハッシュ セットに対してアクティブ/アクティブ モードを許可せず、3 番目のノードを持つことができないため Sentinel を実行するオプションがないため、私の考えは、レプリケーションで 2 つのノードを実行し、自分で決定するかどうかを決定することです。マスター ノードがダウンしており、スレーブをマスターに昇格させます。これに問題はありますか?元のマスターが復旧したときに、それをスレーブとして構成する方法はありますか?
これは良いアイデアのように聞こえますか?Redis 以外の提案も歓迎します。
c++ - キーが std::string として定義されている場合、redis に格納されているポッド構造体の逆シリアル化が失敗する
redis での POD 構造体の保存は正常に機能しますconst char *
が、含まれている場合は機能しませんstd::string
。
const char * 例
行を置き換えると:
と
実行は常にSegmentation faultで終了します。
私は自分で問題を解決することはできません。助けていただければ幸いです。
c++ - Hiredis ライブラリがロードされていない/画像が見つからない
私は、hiredis を使用する cmake を使用して C++ プロジェクトに取り組んでいます。CMake およびコンパイル プロセスでは、エラーは発生しません。ただし、プロジェクトを実行しようとすると (端末または [CLion] を使用している IDE から)、次のエラーが発生します。
dyld: ライブラリがロードされていません: libhiredis.0.13.dylib
参照元: /Users/connorriley/CLionProjects/DispatchingOptimization/bin/dispatch 理由: 画像が見つかりません
私libhiredis.0.13.dylib
が持っている唯一のhiredisライブラリファイルはlibhiredis.dylib.
私のプロジェクトファイル構造は次のとおりです。
追加情報:
- コンパイラ: クラン
- OS: macOS 10.12.3
- cmake バージョン 3.7.2
redis - HiRedis:: LPUSH を使用して Redis リストに空白文字列を挿入する方法
次のようなことを行うために、hiredis ライブラリの redisCommand を使用しています。
ここで、「」は、空の要素をリストに挿入することを意味します。redisのコマンドラインから実行すると正常に動作しますが、これをhiredisのコマンドとして渡すと動作せず、要素は空ではなく "" になります。回避策はありますか?
redisCommand の呼び出し方法は次のとおりです。
一重引用符、バックスラッシュなども入れてみました
asynchronous - redisAsyncContext の ev
redisAsyncContext では、stuct ev が定義されました。
機能があります:
使い方?ev はいつ使用する必要がありますか?
c++ - Hiredis を使用して C++ で開発する Redis で List を使用する方法
Linux で C++ の redis で list を使用しようとしましたが、C++ で "rpush"、"lpush"、"rpop"、"lpop" を使用するにはどうすればよいですか? 私は次のように書きました:
しかし、それは成功せず、「this->_reply->str」は「間違った種類の値を保持しているキーに対する WRONGTYPE 操作」と言いました
これらのメソッドを使用するにはどうすればよいですか? ありがとう