所有坚韧不拔的努力迟早会取得报酬的。—— 安格尔
开启远程连接
Redis默认是不支持远程连接的,这里需要手动开启远程连接。
- 关闭本机IP绑定,允许远程连接。找到redis.conf中的
bind:127.0.0.1 将其注释。 - 开启密码校验。找到redis.conf中的
requirepass 去掉其注释并设置密码。
Jedis连接Redis
创建一个Maven项目,导入Jedis依赖。
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<type>jar</type>
<scope>compile</scope>
</dependency>
测试链接是否成功。
public static void main(String[] args) {
Jedis jedis = new Jedis("127.0.0.1", 6379);
jedis.auth("123456");
String res = jedis.ping();
System.out.println(res);
}
使用Redis中写入一些值。不熟悉基本操作的可以查看Redis基本操作。
System.out.println(jedis.get("name"));
String result = jedis.set("gender", "male");
System.out.println(result);
紧接着再去redis中查看刚才写入的gender 。 Jedis中提供的方法和Redis的命令基本上是一样的,所以这里的操作就不做过多的赘述了。
封装Jedis进行操作
Jedis对象不是线城安全的,所以在实际开发中,一般我们都是通过连接池来获取,使用完成后再还给连接池。
public interface JedisCall {
void call(Jedis jedis);
}
public class RedisDemo {
private JedisPool jedisPool;
public RedisDemo(){
GenericObjectPoolConfig config = new GenericObjectPoolConfig();
config.setMaxIdle(100);
config.setMaxTotal(300);
config.setMaxWaitMillis(30000);
config.setTestOnBorrow(true);
jedisPool = new JedisPool(config, "127.0.0.1", 6379, 30000);
}
public void execute(JedisCall jedisCall) {
try (Jedis jedis = jedisPool.getResource()) {
jedisCall.call(jedis);
}
}
}
public class JedisTest {
public static void main(String[] args) {
RedisDemo redisDemo = new RedisDemo();
redisDemo.execute(jedis -> {
});
}
}
|