반응형
데이터베이스에 어레이 저장: JSON vs. serialized 어레이
Ruby-on-rails에서는 포스트의 마지막 3개의 코멘트를 저장하고 싶습니다.Post에 코멘트 테이블을 추가할 수 있다는 것은 알고 있습니다만, 스케일링의 목적으로는 이 어려운 요구는 피하고 싶습니다.
그래서 이 3가지 요소를 저장하는 가장 좋은 방법이 무엇인지 궁금했습니다.새로운 코멘트가 나올 때마다 간단하게 갱신하고 싶기 때문입니다.마지막 코멘트를 삭제하고 새로운 코멘트를 추가합니다.
시리얼 어레이 또는 JSON 오브젝트에 저장하는 올바른 방법은 무엇입니까?
ActiveRecord를 사용하여 어레이와 해시를 저장할 수 있습니다.serialize
선언:
class Comment < ActiveRecord::Base
serialize :stuff
end
comment = Comment.new # stuff: nil
comment.stuff = ['some', 'stuff', 'as array']
comment.save
comment.stuff # => ['some', 'stuff', 'as array']
오브젝트 타입이 같은 클래스명을 지정할 수 있습니다(이 경우).Array
이 방법이 더 명확하고 안전합니다.또한 첫 번째 값을 할당할 때 기존(빈) 어레이에 추가할 수 있으므로 어레이를 생성할 필요가 없습니다.
class Comment < ActiveRecord::Base
serialize :stuff, Array
end
comment = Comment.new # stuff: []
comment.stuff << 'some' << 'stuff' << 'as array'
스토어라고 하는 더 새로운 버전을 사용할 수도 있습니다.http://api.rubyonrails.org/classes/ActiveRecord/Store.html
이것은 빌트인 방식을 사용하여 사용 사례를 처리할 것입니다.
언급URL : https://stackoverflow.com/questions/21312278/storing-arrays-in-database-json-vs-serialized-array
반응형
'itsource' 카테고리의 다른 글
리포지토리가 깨끗하지 않습니다.Angular 8에서 업데이트하기 전에 변경 사항을 커밋하거나 저장하십시오. (0) | 2023.03.18 |
---|---|
스프링 부트 REST 응용 프로그램에서 Firebase를 사용하는 방법 (0) | 2023.03.18 |
스프링 부트 보안 CORS (0) | 2023.03.18 |
jQuery looping .each() JSON 키/값이 작동하지 않습니다. (0) | 2023.03.18 |
jQuery를 사용하지 않고 node.js에서 JSON 결합 또는 병합 (0) | 2023.03.18 |