本文已参与「新人创作礼」活动,一起开启掘金创作之路。
我们要使用java来操作redis
什么是Jedis?
什么是Jedis 是Redis官方推荐的java连接开发工具!使用Java操作Redis 中间件!(就是一个jar包)如果你要使用java操作redis,那么一定要对Jedis十分的熟悉!
导入依赖
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>4.2.3</version>
</dependency>
测试demo
package com.item.test;
import redis.clients.jedis.Jedis;
public class JedisTest {
public static void main(String[] args) {
//1.简历连接
Jedis jedis =new Jedis("161.222.25.19",6379);
//2.设置密码
jedis.auth("297");
//3.选择库
jedis.select(0);
// 存入数据
String set = jedis.set("name", "南宁");
System.out.println(set);
//获取数据
String name = jedis.get("name");
System.out.println(name);
jedis.close();
}
}
存入成功
使用连接池连接
package com.item.test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.util.HashMap;
import java.util.Map;
public class JedisConnectionFactory {
private static final JedisPool jedispool;
static {
// 配置连接池
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
// 配置最大连接数
jedisPoolConfig.setMaxTotal(8);
jedisPoolConfig.setMaxIdle(8);
// 保留一定的空闲连接池对象;
jedisPoolConfig.setMinIdle(0);
// 等待时间
jedisPoolConfig.setMaxWaitMillis(1000);
// 创建连接池对象
jedispool = new JedisPool(jedisPoolConfig,"185.222.22.22",6379,1000,"2323113");
}
public static Jedis getJedis(){
return jedispool.getResource();
}
public static void main(String[] args) {
Jedis jedis = getJedis();
// 指定库
jedis.select(0);
// 存入数据
long hmset = jedis.hset("user:1", "name", "Jack1");
System.out.println(hmset);
Map<String, String> stringStringMap = jedis.hgetAll("user:1");
System.out.println(stringStringMap);
}
}
注意jedis连接不上远程服务器:
用Jedis连接阿里云等服务器上的redis
一. 配置redis.conf 1.设置访问redis的密码:requirepass 要设置密码 2.注释bind 127.0.0.1 (重启redis-server服务,进入redis后要先验证密码,用这个命令:auth 密码 ,然后ping一下看有没有配置成功)
二 . idea访问时添加auth密码
Jedis jedis = new Jedis("服务器的外网ip",6379); jedis.auth("redis的密码"); System.out.println(jedis.ping()); (输出PONG的话就成功了)
总结: spring-data-redis与spring的整合,更像mybatis与spring整合,通过工厂,创建实例,再操作实例。而jedis,更像spring与MySQL结合,通过操作连接池,获取实例操作数据库