이미 존재하는 경우 apc_store()가 키를 덮어 쓰는 것을 알고 있으므로 차이점을 알고 있습니다. 제 질문은 단지 더 나은 방법/모범 사례는 무엇입니까?apc_add() 대 apc_store()
답변
두 기능의 유일한 차이점은 apc_add()
이 기존 항목을 덮어 쓰지 않는다는 것입니다. 반면에 apc_store()
은 기존 항목을 덮어 씁니다.
apc_add()
과 apc_store()
사이에 어떤 것을 사용해야합니까?
글쎄, 모두 귀하의 필요에 따라 달라집니다 : 기존 항목을 덮어 쓰길 원하십니까?
Realy는 적용해야하는 논리에 따라 다르며 키를 덮어 쓸 필요가 없습니까? 그것은 당신에게 달려 있습니다.
음 .. 변수를 덮어 쓰는 것은 코드 냄새를 생각 나게. –
그러면 메모리에 페이지 오류가 있습니다. – DanMan
동시 환경에서 원자 카운터를 구현하려는 경우에 대비하여 apc_add()
이 필요합니다. 그 주요 유스 케이스 IMO.
@ Pascal MARTIN이 쓰는 것 이외에도 실제적인 차이점이 있습니다. 과도한 동시 환경, 예를 들면,. 아파치에서 사용자 객체에 apc를 사용할 때 apc_store를 사용하면 apc time bomb이 될 수 있습니다 (링크는 2007 년이지만 여전히 관련이 있습니다!). apc_add는이 문제를 완화합니다.
은 참조 : https://serverfault.com/questions/342295/apc-keeps-crashing는
- 1. 대 ID 대 UniqueID 대 ClientID 대 UniqueClientID 대 StaticClientID?
- 2. iPhone 대 XML 대 비누 대 JSON 대 RESTful
- 3. 부 대 대 C# 대 파이썬?
- 4. SDI 대 MDI 대 TDI 대?
- 5. JSONML 대 InnerHTML 대?
- 6. 대 트림 대 FILE_IGNORE_NEW_LINES
- 7. "이상"대 "이상"대
- 8. 조회수 대 CALayers 대?
- 9. _ 새로운 대 GNU 대
- 10. 티카 : 등 등 대 HoldAllComplete 대 HoldForm 대 홀드 대 연기 대 평가되지 않은
- 11. apc_store/apc_fetch와 같은 PHP Apache 공유 메모리 저장소에 대한 좋은 Flask/Python/WSGI 아날로그?
- 12. 이미 존재하는 캐시 키를 교체 할 때 "apc_store"기능이 TTL 값을 재설정합니까?
- 13. 스프레드 대 MPI 대 zeromq?
- 14. apc_define_constants 대 hidef 대 정의
- 15. 반복자 대 참조 포인터 대
- 16. int 대 NSNumber 대 NSInteger
- 17. iWebkit 대 JQTouch 대 iUI
- 18. NSImage 대 CIImage 대 CGImage?
- 19. 문자열 대 c_str() 대 데이터()
- 20. DataModel 대 DataContract 대 ViewModel
- 21. Unity 대 Udk 대 CryEngine
- 22. ASSERT 대 ATLASSERT 대 assert
- 23. Android 대 TIME_TICK 대 알람
- 24. Icesfaces 대 Myfaces 대 Primefaces
- 25. 정확도 대 바코드 대 qrcode?
- 26. ErrorAttribute 대 OnException 대 Application_Error
- 27. HBase 대 Hyptertable 대 Lucene
- 28. Application_Start 대 OnInit 대 생성자
- 29. DataServiceKey 대 DataKeyProperty 대 DataServiceEntity
- 30. XML 대 SQlite 대 액세스
이 차이의 결과는 동시 환경에서 중요한 영향을 미칠 수 있습니다. 즉 과도한 잠금이 발생하여 대기 시간이 매우 길어 지거나 충돌이 발생합니다 (이에 대한 또 다른 답변이 추가되었습니다) – etov