2013-08-26 5 views
5

私はMaxMind GeoIPデータベースを使用しようとしており、C APIがGeoIP_open初期化呼び出しのフラグとしてさまざまなキャッシュモードを提供していることがわかりました。あなたがそれらのいずれかのセットを提供できるようさまざまなMaxMind GeoIPキャッシングモードは何を意味するのですか?

  • GEOIP_MEMORY_CACHE
  • GEOIP_INDEX_CACHE
  • GEOIP_MMAP_CACHE

  • GEOIP_CHECK_CACHE
  • これらは、フラグビットですが、何のドキュメントはこれらのフラグが何を意味するかのようありませんか彼らが何をしているのか、あるいは(おそらく最も重要なのですが)彼らがどのようにやりとりするのか、 benchmarks page

    GEOIP_CHECK_CACHEが遅く、それを行っている間GEOIP_MEMORY_CACHEが速くそれを作ることを示していますが、これらのフラグのいずれかの使用(または使用しない)したいと思う理由として兆候はありません。

    答えて

    4

    これらのキャッシュの目的については、githubページを参照してください。

    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_open( "/ path/to/GeoIP.dat"、GEOIP_MEMORY_CACHE | GEOIP_CHECK_CACHE)を呼び出して、GEOIP_MEMORY_CACHEとGEOIP_CHECK_CACHEの両方を使用できます。

    Click to know more information

    関連する問題