6.3. 地理空间对象桶(Geospatial Bucket)

Redisson的分布式RGeo Java对象是一种专门用来储存与地理位置有关的对象桶。除了同步接口外,还提供了异步(Async)、反射式(Reactive)和RxJava2标准的接口。

  1. RGeo<String> geo = redisson.getGeo("test");
  2. geo.add(new GeoEntry(13.361389, 38.115556, "Palermo"),
  3. new GeoEntry(15.087269, 37.502669, "Catania"));
  4. geo.addAsync(37.618423, 55.751244, "Moscow");
  5. Double distance = geo.dist("Palermo", "Catania", GeoUnit.METERS);
  6. geo.hashAsync("Palermo", "Catania");
  7. Map<String, GeoPosition> positions = geo.pos("test2", "Palermo", "test3", "Catania", "test1");
  8. List<String> cities = geo.radius(15, 37, 200, GeoUnit.KILOMETERS);
  9. Map<String, GeoPosition> citiesWithPositions = geo.radiusWithPosition(15, 37, 200, GeoUnit.KILOMETERS);