अन्य उत्तर सही हैं - लेकिन गलत कारणों से।
डेटा को PHP सरणी में रखना डेटाबेस से प्राप्त करने के लिए बहुत तेज़ होगा - भले ही डेटासेट मेमोरी में कैश किया गया हो। मुद्दा यह है कि सामान्य PHP आर्किटेक्चर में प्रत्येक अनुरोध को एक अलग प्रक्रिया द्वारा नियंत्रित किया जाता है। इसलिए प्रत्येक अनुरोध जिसे डेटा तक पहुंच की आवश्यकता होती है, को संपूर्ण डेटासेट को मेमोरी में लोड करना होगा। इसमें समय लगता है। जिस बिंदु पर डेटाबेस से आइटम पुनर्प्राप्त करने के बजाय इस ऑपरेशन को करने के लिए और अधिक महंगा हो जाता है, वह कई अलग-अलग कारकों पर निर्भर करता है - लेकिन अंगूठे के मोटे नियम के रूप में यह 100 रिकॉर्ड के क्षेत्र में है। ऐसे एप्लिकेशन हैं जहां यह मॉडल समझ में आता है - लेकिन वे बहुत कम डेटा वॉल्यूम और डेटा को बदलने / प्रबंधित करने की एक नियंत्रित प्रक्रिया पर भरोसा करते हैं।
आपकी अगली समस्या यह है कि आप शायद स्टॉक के खिलाफ कुछ लेन-देन रिकॉर्ड करना चाहेंगे - इसका मतलब है कि डेटा बदलना - और इसका मतलब है कि यह सुनिश्चित करने के लिए कि 2 अलग-अलग लेनदेन एक ही समय में नहीं होते हैं। इसे PHP में लागू करना असंभव है (निर्णय के लिए समर्पित डेमॉन के बिना) जबकि गतिरोध नहीं है।
यदि आप कोड को लागू करने के लिए किसी से शुल्क ले रहे हैं, तो यह स्पष्ट रूप से स्पष्ट होना चाहिए कि इसे स्मृति में लागू करने का प्रयास करना एक बहुत ही बुरा विचार है।