如何获取spring-boot-starter-data-redis中的Jedis实例?
How to get a Jedis instance in spring-boot-starter-data-redis?
这个例子正确吗?
连接池是否自动关闭?
需要获取jedis实例才能操作GEO
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.stereotype.Service;
import redis.clients.jedis.Jedis;
@Service
public class RedisGeo {
@Autowired
private RedisConnectionFactory redisConnectionFactory;
private void test() {
RedisConnection redisConnection = redisConnectionFactory.getConnection();
Jedis jedis = (Jedis) redisConnection.getNativeConnection();
System.out.println(jedis);
jedis.geoadd("demo",
91.118970,
29.654210,
"dc");
}
}
地理操作不需要原生 Jedis 实例。 RedisTemplate 有一个 opsForGeo()
方法,returns GeoOperations
接口。
所以你可以做到
redistTemplate.opsForGeo().add("demo", new Point(91.118970,29.654210), "dc");
这个例子正确吗?
连接池是否自动关闭? 需要获取jedis实例才能操作GEO
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.stereotype.Service;
import redis.clients.jedis.Jedis;
@Service
public class RedisGeo {
@Autowired
private RedisConnectionFactory redisConnectionFactory;
private void test() {
RedisConnection redisConnection = redisConnectionFactory.getConnection();
Jedis jedis = (Jedis) redisConnection.getNativeConnection();
System.out.println(jedis);
jedis.geoadd("demo",
91.118970,
29.654210,
"dc");
}
}
地理操作不需要原生 Jedis 实例。 RedisTemplate 有一个 opsForGeo()
方法,returns GeoOperations
接口。
所以你可以做到
redistTemplate.opsForGeo().add("demo", new Point(91.118970,29.654210), "dc");