リストが含まれているJSONオブジェクトからredisレコードが設定されている場合、後でそのリストでLPUSHコマンドを使用して更新できますか? (node.jsで赤を使用) ありがとうLPUSHコマンドはJSONから初期化されたレコードで動作しますか?
3
A
答えて
8
No. Redisはフォーマットに依存しません。 JSONを解析できず、ドキュメント指向のデータベースでもありません。
LPUSHはRedisリストオブジェクトにのみ適用されます。
ただし、Lua Redis 2.6のサーバーサイドスクリプティング機能を使用して行うことができるものは、JSONオブジェクトをデコードし、アイテムを追加し、オブジェクトをエンコードして保存するスクリプトです。次のJSONオブジェクトと例えば
:
eval "local t = cjson.decode(redis.call('get',KEYS[1]))
if t.girlfriends then
table.insert(t.girlfriends,ARGV[1])
else
t.girlfriends = {ARGV[1]}
end
return redis.call('set',KEYS[1], cjson.encode(t))
" 1 user:1 Augusta
別の可能性は、JSONオブジェクトを直接格納回避することである。
set users:1 "{\"id\":1,\"name\":\"Rocco\",\"age\":50,girlfriends:[\"Ulla\"]}"
新しいガールフレンドがeval commandを使用して一回の操作で実現することができる追加RedisではJSONオブジェクトを複数のRedisキーに変換するレイヤーを作成します(特定のキーのリストセクションを分離する)。例えば
:
{ "id":1, "name": "Rocco", "age":50,
girlfriends: [ "Ulla", "Bella", "Josepha", "Isabella" ] }
として格納することができる:
HMSET users:1:info name Rocco age 50
RPUSH users:1:girlfriends Ulla Bella Josepha Isabella
このアプローチの主な利点は、性能と部分的な更新をサポートしています。主な欠点は、いくらかの柔軟性が失われ、変換コードが書くのが面倒かもしれないことです。
関連する問題
- 1. C++ 11は初期化されたメンバフィールドを再初期化しますか?
- 2. jQueryはJSONリクエスト(PHPスクリプトから返された)のデータでSliderを初期化
- 3. JSON.Netコレクションは、デシリアライズされたJSONから上書きされないデフォルトのコンストラクタで初期化されます
- 4. PythonでJSONのネストされたクラスを初期化しますか?
- 5. ダイレクト初期化またはコピー初期化ですか?
- 6. SurfaceViewがXMLから初期化されました
- 7. ペン先から初期化されたUITableViewCellをプログラムで変更しますか?
- 8. メソッドやサービスクラスから作成されたrailsオブジェクトは自動的に初期化されません
- 9. 初期化が遅れましたか?
- 10. 滑らかなスライダがAPI jsonで初期化されていません
- 11. JScriptで作成したオブジェクトをVBScriptから初期化できますか?
- 12. JSONからのC#動的型の初期化
- 13. 静的ポインタはサブクラス化されたウィンドウプロシージャで初期化されませんか?
- 14. このサブスクリプションは初期化されましたか?
- 15. Dynamics CRM 2011は、インポートされたレコードから手動で作成されたレコードを区別します。
- 16. priority_queueをベクトルから移動初期化しますか?
- 17. System.IOUtilsのTPathレコードはどこに初期化されていますか?
- 18. Clojurescriptでレコードをパラメータ化されたレコードタイプからインスタンス化しますか?
- 19. リストからネストされたオブジェクトを初期化する
- 20. 初期化されたデータベースでドッカーイメージを作成するには
- 21. 初期化されていないグローバル変数はどこで初期化されますか?
- 22. 初期化されたエラー
- 23. TextTo音声初期化リスナーは起動しますが、TTSエンジンは初期化されていません
- 24. AngularJSアプリは初期化しますが動作しません
- 25. fireDateで初期化されたNSTimerが起動しない
- 26. 以前に初期化された属性で初期化されるクラスインスタンス
- 27. C#でファイルから初期化されたシングルトンコレクションを作成しようとしています
- 28. ラベルを使用したC構造体の初期化。それは動作しますが、どうですか?
- 29. JSPはどこで初期化されますか?
- 30. 配列はJavaでいつ初期化されますか?
詳細な回答ありがとうございます。 – user971956