Spring Data Redis需要和spring进行整合,需要导spring-data-redis包。然后需要在配置文件里配一个jedis的连接池(JedisPoolConfig),里面有host(主机,就是装服务器的地址),port端
口号,maxIdle(最大空闲数),maxWait(最大等待数),再配一个jedis的连接工厂(JedisConnectionFactory),再来一个模板(RedisTemplate),这个模板里面拥有操作数据的方法。
用的时候直接从容器里拿个模板用就行。
@Autowired
private RedisTemplate redisTemplate; //从容器中拿模板过来
操作value类型数据
@Test
public void testAdd() {
redisTemplate.boundValueOps("value_key").set("zhangsan");
//redisTemplate.boundValueOps("value_key").set("zhangsan", 30L, TimeUnit.HOURS);//带存活时间,存数据后的30个小时候就没了
}
@Test
public void testGet() {
Object object = redisTemplate.boundValueOps("value_key").get();
System.out.println(object);
}
@Test
public void testDel() {
redisTemplate.delete("value_key");
}
【操作set类型数据//set无序,不可重复】
@Test
public void testAdd() {
redisTemplate.boundSetOps("set_key").add("zhangsan");
redisTemplate.boundSetOps("set_key").add("lisi");
redisTemplate.boundSetOps("set_key").add("wangwu");
redisTemplate.boundSetOps("set_key").add("zhaoliu");
}
@Test
public void testGet() {
Set members = redisTemplate.boundSetOps("set_key").members();
for (Object object : members) {
System.out.println(object);
}
}
@Test
public void testDel() {
redisTemplate.boundSetOps("set_key").remove("zhangsan");
}
【操作list数据类型//list有序,可重复】
@Test
public void testAdd() {
// redisTemplate.boundListOps("list_key").leftPush("zhangsan");//左压栈
// redisTemplate.boundListOps("list_key").leftPush("lisi");
// redisTemplate.boundListOps("list_key").leftPush("wangwu");
// redisTemplate.boundListOps("list_key").leftPush("zhaoliu");
// zhaoliu wangwu lisi zhangsan
redisTemplate.boundListOps("list_key").rightPush("zhangsan");//右压栈
redisTemplate.boundListOps("list_key").rightPush("lisi");
redisTemplate.boundListOps("list_key").rightPush("wangwu");
redisTemplate.boundListOps("list_key").rightPush("zhaoliu");
// zhangsan lisi wangwu zhaoliu
}
@Test
public void testGet() {
List members = redisTemplate.boundListOps("list_key").range(0, 10);
for (Object object : members) {
System.out.println(object);
}
}
@Test
public void testDel() {
// p1:需要删除的个数 p2:需要删除的值
redisTemplate.boundListOps("list_key").remove(1, "lisi");
// redisTemplate.delete("list_key");
}
【操作hash类型数据,当成一个map来对待就行】
@Test
public void testAdd() {
redisTemplate.boundHashOps("hash_key").put("aa", "AAAAA");
redisTemplate.boundHashOps("hash_key").put("bb", "BBBBB");
redisTemplate.boundHashOps("hash_key").put("cc", "CCCCC");
// zhangsan lisi wangwu zhaoliu
}
@Test
public void testGet() {
Set keys = redisTemplate.boundHashOps("hash_key").keys();
for (Object object : keys) {
Object object2 = redisTemplate.boundHashOps("hash_key").get(object);
System.out.println(object+":"+object2);
}
}
@Test
public void testDel() {
redisTemplate.boundHashOps("hash_key").delete("aa");//删除"aa"对应的
}