redis-geo

redis geo-ip lokup

redis-geo

GeoIp backed by redis. Port of examples provided by Redis in Action. Buy the book!

var redis = require('redis').createClient();
var geoip = require('redis-geo')(redis);
 
geoip('71.75.248.222', function (errinfo) {
  if (err) throw err;
  console.log(info);
});

Example output:

{
  country: 'US',
  state: 'NC',
  city: 'Waxhaw',
  zip: '28173',
  lat: '34.9273',
  lng: '-80.7278',
  metro: '517',
  areacode: '704'
}

First import the block via the csv dump.

$ redis-geo import-blocks /to/to/blocks.csv

Next, import the locations.

$ redis-geo import-locations path/to/locations.csv
$ redis-geo --help
 
  Usage: redis-geo [options] [command]
 
  Commands:
 
    import-blocks <file>   imports the location blocks
    import-locations <file> imports the location details by city
    lookup <ip>            looks up the geo data for the ip
 
  Options:
 
    -h, --help                   output usage information
    -V, --version                output the version number
    -p, --port [port]             redis port
    -h, --host [host]            redis host
    -n, --namespace [namespace]  namespace in redis
  • hashkey sharding for memory optimizations

MIT