2013-08-26 5 views
5

मै मैक्समाइंड जियोआईपी डेटाबेस का उपयोग करने की कोशिश कर रहा हूं, और मुझे लगता है कि सी एपीआई GeoIP_open प्रारंभिक कॉल के झंडे के रूप में विभिन्न कैशिंग मोड का एक गुच्छा प्रदान करता है।विभिन्न मैक्समाइंड जियोआईपी कैशिंग मोड क्या करते हैं?

  • GEOIP_MEMORY_CACHE
  • GEOIP_CHECK_CACHE
  • GEOIP_INDEX_CACHE
  • GEOIP_MMAP_CACHE

इन ताकि आप उनमें से किसी भी सेट प्रदान कर सकते हैं, झंडा बिट्स हैं, लेकिन इन झंडे क्या मतलब के बारे में कोई प्रलेखन है या वे क्या करते हैं, या (शायद सबसे महत्वपूर्ण) वे कैसे बातचीत करते हैं।

benchmarks page इंगित करता है GEOIP_MEMORY_CACHE यह तेजी से बनाता है GEOIP_CHECK_CACHE यह धीमा हो जाता है, जबकि, लेकिन वहाँ कारण है कि आप का उपयोग करने के (या न करने) इन झंडे के किसी भी चाहेगा के रूप में कोई संकेत नहीं है।

उत्तर

4

उनका गिथब पृष्ठ इन कैशों के उद्देश्य का वर्णन करता है।

GEOIP_STANDARD - Read database from file system. This uses the least memory. 
GEOIP_MEMORY_CACHE - Load database into memory. Provides faster performance but uses more memory. 
GEOIP_CHECK_CACHE - Check for updated database. If database has been updated, reload file handle and/or memory cache. 
GEOIP_INDEX_CACHE - Cache only the the most frequently accessed index portion of the database, resulting in faster lookups than GEOIP_STANDARD, but less memory usage than GEOIP_MEMORY_CACHE. This is useful for larger databases such as GeoIP Organization and GeoIP City. Note: for GeoIP Country, Region and Netspeed databases, GEOIP_INDEX_CACHE is equivalent to GEOIP_MEMORY_CACHE. 
GEOIP_MMAP_CACHE - Load database into mmap shared memory. MMAP is not available for 32bit Windows. 

इन विकल्पों को बिट ऑपरेटरों का उपयोग करके जोड़ा जा सकता है। उदाहरण के लिए आप कॉलिंग द्वारा GEOIP_MEMORY_CACHE और GEOIP_CHECK_CACHE दोनों का उपयोग कर सकते हैं: GeoIP_open ("/ path/to/GeoIP.dat", GEOIP_MEMORY_CACHE | GEOIP_CHECK_CACHE);

Click to know more information

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