现在存文章内容用hash类型:
post:$post_id
title,
content
...
comment:$comment_id
content,
date,
status
posts:
$post_id, $comment_id
存了一个hash类型的posts来表示关系,可能是还是没摆脱关系型数据库。
这种“一对多”的模式,如何在redis上更合理……更redis的体现出来.
应该如何设计这里
伊谢尔伦2017-04-21 11:18:51
NoSQL が Join 関数を完全にサポートしていることはほとんどないため、展開された関係を NoSQL に保存するには非正規化形式が一般的に使用され、その関係はもはや「多対 1」ではなく「1 対多」になります。
コレクションタイプを使用して、Redis のリストやセット、MongoDB のサブドキュメントなどのサブドキュメントを保存できます。
NoSQL の場合は、記事やコメントなどの関連するものをまとめるという単純な原則があります。可能であれば、記事内だけでなく、コンテンツを含む記事とコメントのすべての属性をまとめてください。コメントの ID がレコードに保存されます。
この利点は明らかです。データをどのように分割しても、1 回の読み取り操作だけでデータを取得できます。これは、非常に手間がかかります。バックエンドのスケーラビリティが大幅に向上します。
もちろん、このような設計が常にアプリケーションに適しているとは限りません。たとえば、記事と著者の間の関係は完全に非標準化できない場合があるため、データの表示方法とプロセスを慎重に検討して、データをどのように整理するかを決定する必要があります。
もちろん、データ量が少ない場合は問題ありません。