Skip to content

Commit

Permalink
Reorganized for better package hierarchy
Browse files Browse the repository at this point in the history
  • Loading branch information
sangupta committed Feb 29, 2016
1 parent 658cd2e commit 146eee4
Show file tree
Hide file tree
Showing 17 changed files with 369 additions and 72 deletions.
10 changes: 9 additions & 1 deletion src/main/java/com/sangupta/dryredis/DryRedis.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,14 @@
import java.util.Map;
import java.util.Set;

import com.sangupta.dryredis.cache.DryRedisGeoOperations;
import com.sangupta.dryredis.cache.DryRedisHashOperations;
import com.sangupta.dryredis.cache.DryRedisStringOperations;
import com.sangupta.dryredis.support.DryRedisCacheType;
import com.sangupta.dryredis.support.DryRedisGeoUnit;
import com.sangupta.dryredis.support.DryRedisInsertOrder;

public class DryRedis extends DryRedisKeys {
public class DryRedis extends DryRedisKeys implements DryRedisGeoOperations, DryRedisHashOperations, DryRedisStringOperations {

// GEO commands follow

Expand Down Expand Up @@ -455,4 +458,9 @@ public String getset(String key, String value) {
return this.stringCommands.getset(key, value);
}

public long bitcount(String key) {
matchKeyType(key, DryRedisCacheType.STRING);
return this.stringCommands.bitcount(key);
}

}
6 changes: 6 additions & 0 deletions src/main/java/com/sangupta/dryredis/DryRedisKeys.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,12 @@
import java.util.ArrayList;
import java.util.List;

import com.sangupta.dryredis.cache.impl.DryRedisGeo;
import com.sangupta.dryredis.cache.impl.DryRedisHash;
import com.sangupta.dryredis.cache.impl.DryRedisHyperLogLog;
import com.sangupta.dryredis.cache.impl.DryRedisList;
import com.sangupta.dryredis.cache.impl.DryRedisSet;
import com.sangupta.dryredis.cache.impl.DryRedisString;
import com.sangupta.dryredis.support.DryRedisCache;
import com.sangupta.dryredis.support.DryRedisCacheType;

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package com.sangupta.dryredis.cache;

import java.util.List;

import com.sangupta.dryredis.support.DryRedisGeoUnit;

public interface DryRedisGeoOperations {

public void geoadd(String key, double latitude, double longitude, String member);

public String geohash(String key, String member);

public double[] geopos(String key, String member);

public Double geodist(String key, String member1, String member2, DryRedisGeoUnit unit);

public List<String> georadius(String key, double latitude, double longitude, double radius, DryRedisGeoUnit unit);

public List<String> georadius(String key, double latitude, double longitude, double radius, DryRedisGeoUnit unit, boolean withCoordinates, boolean withDistance, boolean withHash, int count);

public List<String> georadiusbymember(String key, String member, double radius, DryRedisGeoUnit unit);

public List<String> georadiusbymember(String key, String member, double radius, DryRedisGeoUnit unit, boolean withCoordinates, boolean withDistance, boolean withHash, int count);

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package com.sangupta.dryredis.cache;

import java.util.List;
import java.util.Map;

public interface DryRedisHashOperations {

public int hdel(String key, String field);

public int hdel(String key, List<String> fields);

public int hexists(String key, String field);

public Object hget(String key, String field);

public List<String> hgetall(String key);

public List<String> hkeys(String key);

public int hlen(String key);

public int hset(String key, String field, String value);

public int hsetnx(String key, String field, String value);

public int hstrlen(String key, String field);

public List<String> hvals(String key);

public long hincrby(String key, String field, long increment);

public double hincrbyfloat(String key, String field, double increment);

public List<String> hmget(String key, List<String> fields);

public String hmset(String key, Map<String, String> fieldValues);

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package com.sangupta.dryredis.cache;

import java.util.Collection;
import java.util.List;

public interface DryRedisStringOperations {

int append(String key, String value);

long incr(String key);

long incrby(String key, long delta);

double incrbyfloat(String key, double delta);

List<String> mget(String[] keys);

List<String> mget(Collection<String> keys);

String set(String key, String value);

String setnx(String key, String value);

String setxx(String key, String value);

String getrange(String key, int start, int end);

int setrange(String key, int offset, String value);

long bitcount(String key);

long bitcount(String key, int start, int end);

long decr(String key);

long decrby(String key, long delta);

String get(String key);

int strlen(String key);

String getset(String key, String value);

}
Original file line number Diff line number Diff line change
@@ -1,22 +1,27 @@
package com.sangupta.dryredis;
package com.sangupta.dryredis.cache.impl;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.sangupta.dryredis.cache.DryRedisGeoOperations;
import com.sangupta.dryredis.support.DryRedisCache;
import com.sangupta.dryredis.support.DryRedisCacheType;
import com.sangupta.dryredis.support.DryRedisGeoUnit;
import com.sangupta.dryredis.support.DryRedisUtils;

public class DryRedisGeo implements DryRedisCache {
public class DryRedisGeo implements DryRedisCache, DryRedisGeoOperations {

private final Map<String, Map<String, GeoPoint>> store = new HashMap<String, Map<String, GeoPoint>>();

// redis commands

public void geoadd(String key, double latitude, double longitude, String member) {
/* (non-Javadoc)
* @see com.sangupta.dryredis.DryRedisGeoOperations#geoadd(java.lang.String, double, double, java.lang.String)
*/
@Override
public void geoadd(String key, double latitude, double longitude, String member) {
Map<String, GeoPoint> points = this.store.get(key);
if(points == null) {
points = new HashMap<String, GeoPoint>();
Expand All @@ -26,7 +31,11 @@ public void geoadd(String key, double latitude, double longitude, String member)
points.put(member, new GeoPoint(member, latitude, longitude));
}

public String geohash(String key, String member) {
/* (non-Javadoc)
* @see com.sangupta.dryredis.DryRedisGeoOperations#geohash(java.lang.String, java.lang.String)
*/
@Override
public String geohash(String key, String member) {
Map<String, GeoPoint> points = this.store.get(key);
if(points == null) {
return null;
Expand All @@ -40,7 +49,11 @@ public String geohash(String key, String member) {
return point.getGeoHash();
}

public double[] geopos(String key, String member) {
/* (non-Javadoc)
* @see com.sangupta.dryredis.DryRedisGeoOperations#geopos(java.lang.String, java.lang.String)
*/
@Override
public double[] geopos(String key, String member) {
Map<String, GeoPoint> points = this.store.get(key);
if(points == null) {
return null;
Expand All @@ -54,7 +67,11 @@ public double[] geopos(String key, String member) {
return geoPoint.getPoint();
}

public Double geodist(String key, String member1, String member2, DryRedisGeoUnit unit) {
/* (non-Javadoc)
* @see com.sangupta.dryredis.DryRedisGeoOperations#geodist(java.lang.String, java.lang.String, java.lang.String, com.sangupta.dryredis.support.DryRedisGeoUnit)
*/
@Override
public Double geodist(String key, String member1, String member2, DryRedisGeoUnit unit) {
Map<String, GeoPoint> points = this.store.get(key);
if(points == null) {
return null;
Expand Down Expand Up @@ -89,20 +106,36 @@ public Double geodist(String key, String member1, String member2, DryRedisGeoUni
return null;
}

public List<String> georadius(String key, double latitude, double longitude, double radius, DryRedisGeoUnit unit) {
/* (non-Javadoc)
* @see com.sangupta.dryredis.DryRedisGeoOperations#georadius(java.lang.String, double, double, double, com.sangupta.dryredis.support.DryRedisGeoUnit)
*/
@Override
public List<String> georadius(String key, double latitude, double longitude, double radius, DryRedisGeoUnit unit) {
return this.georadius(key, latitude, longitude, radius, unit, false, false, false, 0);
}

public List<String> georadius(String key, double latitude, double longitude, double radius, DryRedisGeoUnit unit, boolean withCoordinates, boolean withDistance, boolean withHash, int count) {
/* (non-Javadoc)
* @see com.sangupta.dryredis.DryRedisGeoOperations#georadius(java.lang.String, double, double, double, com.sangupta.dryredis.support.DryRedisGeoUnit, boolean, boolean, boolean, int)
*/
@Override
public List<String> georadius(String key, double latitude, double longitude, double radius, DryRedisGeoUnit unit, boolean withCoordinates, boolean withDistance, boolean withHash, int count) {
GeoPoint origin = new GeoPoint("origin", latitude, longitude);
return this.getUsingRadius(key, origin, radius, unit, withCoordinates, withDistance, withHash, count);
}

public List<String> georadiusbymember(String key, String member, double radius, DryRedisGeoUnit unit) {
/* (non-Javadoc)
* @see com.sangupta.dryredis.DryRedisGeoOperations#georadiusbymember(java.lang.String, java.lang.String, double, com.sangupta.dryredis.support.DryRedisGeoUnit)
*/
@Override
public List<String> georadiusbymember(String key, String member, double radius, DryRedisGeoUnit unit) {
return this.georadiusbymember(key, member, radius, unit, false, false, false, 0);
}

public List<String> georadiusbymember(String key, String member, double radius, DryRedisGeoUnit unit, boolean withCoordinates, boolean withDistance, boolean withHash, int count) {
/* (non-Javadoc)
* @see com.sangupta.dryredis.DryRedisGeoOperations#georadiusbymember(java.lang.String, java.lang.String, double, com.sangupta.dryredis.support.DryRedisGeoUnit, boolean, boolean, boolean, int)
*/
@Override
public List<String> georadiusbymember(String key, String member, double radius, DryRedisGeoUnit unit, boolean withCoordinates, boolean withDistance, boolean withHash, int count) {
Map<String, GeoPoint> points = this.store.get(key);
if(points == null) {
return null;
Expand Down
Loading

0 comments on commit 146eee4

Please sign in to comment.