maven坐标:
redis.clients
jedis
3.2.0
使用 Jedis *** 作 Redis 的步骤:
-
获取连接
-
执行 *** 作
-
关闭连接
public class JedisTest {
public static void main(String[] args) {
//连接本地的redis服务
Jedis jedis = new Jedis("localhost",6379);
//查看是否连接成功
//System.out.println(jedis.ping());
//设置redis的字符串数据
jedis.set("userName","guojing");
System.out.println(jedis.get("userName"));
//关闭连接
jedis.close();
}
}
2.使用连接池
配置文件
spring:
#Redis相关配置
redis:
host: localhost
port: 6379
#password: 123456
database: 0 # *** 作的是0号数据库
#连接超时时间
timeout: 1000ms
jedis:
#Redis连接池配置
pool:
max-active: 8 #最大连接数
max-wait: 1ms #连接池最大阻塞等待时间
max-idle: 4 #连接池中的最大空闲连接
min-idle: 0 #连接池中的最小空闲连接
配置类:
@Configuration
public class RedisConfig {
//服务地址
@Value("${spring.redis.host}")
private String host;
//服务端口
@Value("${spring.redis.port}")
private int port;
//登录密码
@Value("${spring.redis.password}")
private String password;
//连接超时时间
@Value("${spring.redis.timeout}")
private String timeout;
//最大连接数
@Value("${spring.redis.max-active}")
private int maxTotal;
//最大连接阻塞等待时间
@Value("${spring.redis.max-wait}")
private String maxWaitMillis;
//最大空闲连接
@Value("${spring.redis.max-idle}")
private int maxIdle;
//最小空闲连接
@Value("${spring.redis.min-idle}")
private int minIdle;
@Bean
public JedisPool getJedisPool(){
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(maxTotal);
config.setMaxWaitMillis(Long.valueOf(maxWaitMillis.substring(0,maxWaitMillis.length()-2)));
config.setMaxIdle(maxIdle);
config.setMinIdle(minIdle);
JedisPool jedisPool = new JedisPool(config,host,port,Integer.valueOf(timeout.substring(0,timeout.length()-2)));
return jedisPool;
}
}
示例
@RunWith(SpringRunner.class)
@SpringBootTest
public class JedisTest {
@Autowired
private JedisPool jedisPool;
private Jedis jedis = null;
//初始化jedis对象
@Before
public void initJedis() {
jedis = jedisPool.getResource();
}
//释放资源
@After
public void closeJedis() {
if (jedis != null) {
jedis.close();
}
}
/**
* *** 作String数据
*/
@Test
public void redisString() {
//添加String数据
jedis.set("userName", "guojing");
//获取数据
String userName = jedis.get("userName");
System.out.println(userName);
//添加多条String数据,奇数位是key,偶数位是value
jedis.mset("city", "zhangye", "name", "guojing");
//获取多条数据
List list = jedis.mget("name", "city");
list.forEach(System.out::println);
//删除数据
jedis.del("userName");
}
/**
* *** 作Hash数据
*/
@Test
public void redisHash() {
//添加数据
//参数: 1.redis的key 2.hash的key 3.hash的value
jedis.hset("001", "name", "guojing");
jedis.hset("001", "city", "zhangye");
//获取数据
//参数:1.redis的key 2.hash的key
String name = jedis.hget("001", "name");
String city = jedis.hget("001", "city");
System.out.println(name);
System.out.println(city);
//添加多条数据
Map map = new HashMap();
map.put("name", "zhangsan");
map.put("city", "xi‘an");
jedis.hmset("002", map);
//获取多条数据
List list = jedis.hmget("002", "name", "city");
list.forEach(System.out::println);
//获取所有的hash数据
Map map1 = jedis.hgetAll("001");
map1.entrySet().forEach(s -> {
System.out.println(s.getKey() + ":" + s.getValue());
});
//删除数据
// jedis.hdel("001", "city");
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)