2016-08-21 4 views
5

मैं एक नई एलिक्सीर परियोजना में उपयोगकर्ता खोजों के लिए कैश के रूप में एरलांग के ईटीएस का उपयोग करने पर विचार कर रहा हूं। उपयोगकर्ता इनपुट के आधार पर, सिस्टम एक महंगी तृतीय-पक्ष API का उपयोग करके लुकअप करेगा।ईटीएस स्टोरेज के विकास को सीमित करें

उसी उपयोगकर्ता इनपुट के लिए डुप्लिकेट कॉल करने से बचने के लिए, मैं बाहरी एपीआई के सामने एक कैश परत डालना चाहता हूं, और ईटीएस इसके लिए एक अच्छा विकल्प प्रतीत होता है। हालांकि, चूंकि उपयोगकर्ता इनपुट की विविधताओं की कोई सीमा नहीं है, इसलिए मुझे चिंता है कि ईटीएस तालिका के लिए आवश्यक संग्रहण स्थान बिना बाध्यता के बढ़ेगा।

ईटीएस के बारे में मेरे पढ़ने में, मैंने किसी और को ईटीएस में तालिकाओं के आकार के बारे में चिंता पर चर्चा नहीं की है। क्या ऐसा इसलिए है क्योंकि यह ईटीएस के लिए असामान्य उपयोग मामला होगा?

पहले लाल पर, मेरी प्राथमिकता ईटीएस तालिका में प्रविष्टियों की संख्या की सीमा है, और अस्वीकार करने के लिए किया जाएगा (यानी हटाना) सबसे पुराने प्रविष्टियों एक बार सीमा समाप्त होने पर ...

वहाँ से निपटने के लिए एक आम रणनीति है ईटीएस में प्रविष्टियों की असंबद्ध संख्या?

+0

साथ सूची के आकार की जाँच [गूगल] (सक्षम हैं "erlang ets कैश" के लिए https://www.google.ch/#q=erlang+ets+cache) बहुत उपयोगी हिट देता है। क्या आपने देखा है? –

उत्तर

1

मैं एक लालसा एपीआई के साथ 'स्मार्ट अमान्य कैश' जैसे उत्पादन में ईटीएस टेबल का उपयोग करता हूं (इसके अलावा इसमें एक एसक्यूएल वाल लॉग की तरह मास्टर-मास्टर प्रतिकृति भी है)।

सबसे बड़ा आकार ~ 200-300 एमबी है और उनके पास 1 मिलियन से अधिक आइटम हैं। पिछले 2 वर्षों के लिए कोई समस्या नहीं है। मुझे ERL_MAX_ETS_TABLES सीमाओं के बारे में पता है लेकिन आकारों के बारे में कोई जानकारी नहीं है।

मेरे पास इस तालिका के लिए विशेष 'स्मार्ट इंडेक्स' है। ईटीएस चयन/मैच/आदि धीमा है क्योंकि यह विधियां तालिका में सभी तत्वों को पार करती हैं।

0

ईटीएस तालिका को एक सामान्य सूची में बदलने के लिए ets:tab2list(TableId) फ़ंक्शन का उपयोग करें। ऐसा करने के बाद, आप सूची के आकार को अच्छी तरह से ज्ञात बीआईएफ length(List) के साथ जांचने में सक्षम हैं। इतना ही नहीं बल्कि, अब आप एक बफर (स्थापित करने के लिए सिर्फ से परिणामों के प्रथम पृष्ठ मिलान पैटर्न, अगर, या मामला अभिव्यक्ति

संबंधित मुद्दे