많이 변하지 않는 일부 MySQL 테이블에 저장된 데이터를 캐시하고 싶습니다. 토론을위한 예제는 country_codes, language_codes 등이 될 수 있지만 추가 응용 프로그램 관련 데이터도 있습니다. 그것은 그 자체로 어렵지 않습니다.Sequelize 및 Node를 사용하여 정적 데이터를 지연로드하는 중
은 내가 사용할 것 "인라인"기능에 액세스 할 수있는 데이터를 원하는 : 내 생각이 어렵게 내가 노드의 세계에서 거의 모순 된 것 두 제약, Sequelize 및 Express를 가지고있다 JavaScript 표현식 및 명령문에서 광범위하게 사용됩니다. 예를 들어, 문자열을 Country.nameFromCode (code)와 같은 클래스 메서드와 연결할 수 있어야합니다. 아마도이 방법은 동기식이라는 의미입니다. 콜백과 약속은 겉으로보기에 단순한 요청/요구 사항에 대한 실질적인 해결 방법 인 것처럼 보입니다.
데이터로드가 지연됩니다. 시작시에 빈/www 스크립트 express-generator의 데이터를 쉽게 열망 할 수 있습니다. 그러나 여기서도 데이터를 합리적으로 적재하는 게 아니라고 생각합니다. 아마도 .nameFromCode 함수는 처음 액세스 할 때 데이터베이스에서 데이터를로드 한 다음 데이터를 캐시해야합니다.
그래서 : 나는 같은 deasync, sync, 또는 synchronize 처음으로 내가 .nameFromCode 호출을받을 모듈을 사용해야합니까? 해야합니까? 더 쉬운 대답이 있어야하는 것처럼 보입니다.
Sequelize 또는 mysql 드라이버에 동기식 .query 또는 .find 메소드가 있습니까? 그렇다면 아마도 더 나은 접근 방법 일 것입니다.
동기식을 포기해야합니까? :) 나는 비동기가 노드의 진언이라는 것을 알고 있지만 이런 상황에 돈을 지불하는 것은 부담 스럽다.
위에 링크 모듈뿐만 아니라, 여기에 관련된 것 같다 일부 참조는 다음과 같습니다
- https://github.com/sequelize/sequelize/issues/803
- How to wrap async function calls into a sync function in Node.js or Javascript?
- Executing asynchronous calls in a synchronous manner
- How to organize a node app that uses sequelize?
감사합니다.