나는 잠시 동안 찾고 있었고 준비된 명령문 캐시가 레일스에서 지워졌을 때 어떤 언급도 볼 수 없습니다. 쿼리 캐시와 같은 각 요청 후에 캐시가 지워지나요? middleware documentation에서Rails 3.1에서 준비된 명령문 캐시가 요청마다 지워졌습니까?
1
A
답변
-1
:
액티브 :: QueryCache 모든 요청에 생성 된 SELECT 쿼리를 캐시합니다. INSERT 또는 UPDATE가 발생하면 캐시가 정리됩니다.
1
나는 이것을 찾고 있었고 준비된 명령문 캐시가 데이터베이스 커넥터에 구현되어 있으므로 데이터베이스 커넥터를 지워야하는 위치에있는 것으로 보입니다.
activerecord-oracle_enhanced-adapter를 보면 버전 1.4.1에 추가 된 'statement_limit'구성이 기본값 인 250입니다. 어댑터가 준비된 명령문 캐시에 명령문을 추가 할 때마다 먼저 준비된 명령문을 끝에서 제거합니다 그 한계까지 캐시 (단지 배열)의.
모든 준비된 문을 삭제하려면, 당신은 connection.clear_cache!
를 호출하여이 그냥 oracle_enhanced 드라이버라고 할 수 있습니다. postgresql 또는 다른 것을 사용하고 있다면 그 드라이버에 대한 문서를 확인하십시오. 희망이 도움이됩니다.
+0
고마워. 솔직히이 질문을하는 이유를 기억할 수는 없지만 Rails의 멀티 테넌시와 관련이 있습니다. 쿼리 캐시가 더 이상 문제가되지 않도록 패치를 적용했다고 생각합니다. :) –
관련 문제
- 1. 준비된 명령문 while 루프 오류 PHP에서
- 2. 준비된 명령문 자리 표시자를 작은 따옴표로 묶음
- 3. C MySQL의 API 준비된 명령문 제한
- 4. mysql 준비된 명령문 매개 변수와 순서 쿼리
- 5. 여러 기능에서 PDO 사용 - 준비된 명령문 재사용
- 6. 하나의 준비된 명령문 객체에 대한 다중 쿼리
- 7. Rails 3.1에서 Heroku를 지원합니다.
- 8. Rails 3.1에서 에셋을 무효화하려면 어떻게해야합니까?
- 9. Rails 3.1에서 JBoss 4.2.2로 배포
- 10. Rails 3.1에서 CoffeeScript가 업데이트되지 않습니다.
- 11. Oracle ODBC를 사용하여 준비된 명령문 대 직접 명령문의 차이점
- 12. Hibernate를 사용할 때 최적의 준비된 명령문 캐시 크기를 결정하는 방법
- 13. ID 열 (준비된 명령문)에 따라 테이블의 행을 어떻게 계산합니까?
- 14. MySQL 오류 :이 명령은 준비된 명령문 프로토콜에서 아직 지원되지 않습니다
- 15. Ruby 및 Rails : 뷰의 명령문 한정자?
- 16. Rails 3.1에서 cancan 2.0 gem 설치
- 17. 새로운 이미지가 Rails 3.1에서 렌더링되지 않음
- 18. "def validate"가 Rails 3.1에서 제거 되었습니까?
- 19. Rails 3.1에서 기본 찾기 선택 문 변경
- 20. ID 대신 Rails 3.1에서 객체를 사용하여 호출하기
- 21. Rails 3.1에서 nested_form에서 fields_for를 렌더링하지 않습니다.
- 22. Rails 3.1에서 작동하는 글꼴 가져 오기?
- 23. Rails 3.1에서 ActionDispatch :: ParamsParser를 어떻게 초기화합니까?
- 24. Rails 3.1에서 향후 이벤트 만 표시하려면 어떻게해야합니까?
- 25. Rails 3.1에서 PUT 요청을 디버깅하려면 어떻게해야합니까?
- 26. Rails 3.1에서 Silence ActiveRecord/MySQL 로그 출력?
- 27. Rails 3.1에서 같은 형식의 여러 모델이 있습니까?
- 28. 생산중인 Rails 3.1에서 Stange random crashes가 발생했습니다.
- 29. Rails 3.1에서 모델 연결을 정의하는 Mixin
- 30. Ruby on Rails 3.1에서 어디서 수업을합니까?
'ActiveRecord :: QueryCache'는 prepared statement가 캐시되는 곳이 아니기 때문에 나는 하향 투표했다. 준비된 문은 해당 쿼리에 대해 특별히 컴파일 된 문이므로 Rails는 모든 요청을 다시 컴파일하는 고비용의 작업을 수행 할 필요가 없습니다. QueryCache는 쿼리 결과를 저장하기위한 것입니다. – Hengjie