1、Jedis
Jedis是我们使用来操作Redis的,废话不多说,直接上干货
(1)导入对应的依赖
redis.clients
jedis
3.3.0
com.alibaba
fastjson
1.2.60
(2)编码测试
连接数据库
操作命令
断开连接
编写一个测试类
package redis;
import redis.clients.jedis.Jedis;
/**
* @Author MarkJava
* @Date 2020/8/7 18:05
**/
public class TestPing {
public static void main(String[] args) {
//1、new Jedis对象即可
Jedis jedis = new Jedis("121.199.20.244",6379);
//Jedis所有命令就是我们之前所学习的所有指令
System.out.println(jedis.ping());
}
}
运行结果:
PONG
Process finished with exit code 0
(3)操作常用API
包括5大基本数据类型以及三种特殊类型
(4)连接事务(单独用一篇来讲)2、SpringBoot整合Redis
注:在Springboot2.x之后,原来的Jedis被替换为lettuce
Jedis:采用的直连,多个线程操作的话,不安全的。如果想要避免不安全就使用Jedis pool连接池,更像BIO模式
lettuce:采用netty,实例可以多个线程中进行共享 ,不存在线程安全的情况,减少线程数据,更像NIO模式
测试(1)导入依赖
redis.clients
jedis
3.3.0
(2)配置连接
spring.redis.host=121.199.20.244
spring.redis.port=6379
spring.redis.lettuce.pool.max-active=8
(2)测试
@SpringBootTest
class BootRedisApplicationTests {
@Autowired
private RedisTemplate redisTemplate;
@Test
void contextLoads() {
//opsForValue 操作String
//opsForList 操作list
redisTemplate.opsForValue().set("h1","MakerJava");
System.out.println(redisTemplate.opsForValue().get("h1"));
//获取redis连接对象(很少使用)
// RedisConnection connection = redisTemplate.getConnectionFactory().getConnection();
// connection.flushAll();
}
@Test
public void test() throws JsonProcessingException {
//真实开发一般使用json来传递对象
User user = new User("肖雄",22);
String jsonUser = new ObjectMapper().writeValueAsString(user);
redisTemplate.opsForValue().set("user",jsonUser);
System.out.println(redisTemplate.opsForValue().get("user"));
}
}
白嫖很难,创作不易,大家的点赞与关注,便是我创作最大的动力,我们下期不见不散。如果本篇博客有任何错误和建议,欢迎人才们留言!文章持续更新,可以微信搜一搜「 MakerJava 」关注我的Redis专辑
本文 https://github.com/MarkerJava/JavaHome 已经收录,有大厂面试完整考点,欢迎Star