SpringDataRedis学习笔记(二)

版权声明:转载请标明出处~~ https://blog.csdn.net/weixin_43231076/article/details/83113980

SpringDataRedis–demo

1、简单K-V操作:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:spring/applicationContext-redis.xml")
public class TestValue {
	
	@Autowired
	private RedisTemplate redisTemplate;

	//设置string型的key-value
	@Test
	public void setValue() {
		/*
		*redisTemplate.boundValueOps表示获取一个操作简单key-value型数据的对象
		*/
		redisTemplate.boundValueOps("name").set("SpringDataRedis");
	}

	//获取key的值
	@Test
	public void getValue() {
		String str = (String) redisTemplate.boundValueOps("name").get();
		System.out.println(str);
	}

	//删除key
	@Test
	public void deleteValue() {
		redisTemplate.delete("name");
	}
}

2、set类型数据操作:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:spring/applicationContext-redis.xml")
public class TestSet {
	
	@Autowired
	private RedisTemplate redisTemplate;

	@Test
	public void testSetValue(){
		redisTemplate.boundSetOps("nameSet").add("张三");		//往 nameSet 这个key 中添加值,但是不能存入重复的值,因为set里面的值不能重复
		redisTemplate.boundSetOps("nameSet").add("李四");
		redisTemplate.boundSetOps("nameSet").add("王五");
	}
	
	@Test
	public void testGetValue(){
		Set set = redisTemplate.boundSetOps("nameSet").members();		//取出 nameSet这个key的值,得到一个set,set是无序的
		System.out.println(set);
	}
	
	@Test
	public void removeValue(){
		redisTemplate.boundSetOps("nameSet").remove("张三");			//从 nameSet中移除一个值
	}
	
	@Test
	public void deleteValue(){
		redisTemplate.delete("nameSet");
	}
}

3、list类型的数据操作

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:spring/applicationContext-redis.xml")
public class TestList {
	
	@Autowired
	private RedisTemplate redisTemplate;

	/**
	 * 右压栈的方式存入数据
	 * 特点:后添加的元素,排在list后面
	 */
	@Test
	public void testSetValueRight(){
		redisTemplate.boundListOps("nameList").rightPush("1");
		redisTemplate.boundListOps("nameList").rightPush("2");
		redisTemplate.boundListOps("nameList").rightPush("3");
	}
	
	@Test
	public void testGetValueRight(){
		List list = redisTemplate.boundListOps("nameList").range(0, -1);		//查出全部元素
		System.out.println(list);
		//应该输入 1,2,3
	}
	
	/**
	 * 左压栈的方式存入数据
	 * 特点:后添加的元素,排在list前面
	 */
	@Test
	public void testSetValueLeft(){
		redisTemplate.boundListOps("nameList").leftPush("a");
		redisTemplate.boundListOps("nameList").leftPush("b");
		redisTemplate.boundListOps("nameList").leftPush("c");
	}
	
	@Test
	public void testGetValueLeft(){
		List list = redisTemplate.boundListOps("nameList").range(0, -1);		//查出全部元素
		System.out.println(list);
		//应该输入 c,b,a,1,2,3
	}
	
	/**
	 * 查询list中指定index的值
	 */
	@Test
	public void searchByIndex(){
		String string = (String) redisTemplate.boundListOps("nameList").index(1);
		System.out.println(string);  //输入 b
	}
	
	/**
	 * 移除list中指定的值
	 */
	@Test
	public void removeValue(){
		//2:表示移除的元素的个数(默认从从list中从左往右删除,如果不足2个,就有多少个删多少个);  a:表示要移除的值
		redisTemplate.boundListOps("nameList").remove(2, "a");
	}
}

4、针对HashMap类型的数据操作:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:spring/applicationContext-redis.xml")
public class TestHashMap {
	
	@Autowired
	private RedisTemplate redisTemplate;

	/**
	 * 插入hashMap类型的值
	 */
	@Test
	public void testSetValue(){
		//nameHashMap 就是这个记录的key,里面有一个map,map中有四个key:a,b,c,d
		redisTemplate.boundHashOps("nameHashMap").put("a", "张三");
		redisTemplate.boundHashOps("nameHashMap").put("b", "李四");
		redisTemplate.boundHashOps("nameHashMap").put("c", "王五");
		redisTemplate.boundHashOps("nameHashMap").put("d", "赵六");
	}
	
	@Test
	public void testGetKeys(){
		//获取nameHashMap 中的map里面的所有的key,得到的是一个set类型
		Set keys = redisTemplate.boundHashOps("nameHashMap").keys();
		System.out.println(keys);		// 输出a, b, c, d
	}
	
	@Test
	public void testGetValues(){
		//获取nameHashMap 中的map里面的所有的value,得到的是一个List类型
		List values = redisTemplate.boundHashOps("nameHashMap").values();
		System.out.println(values);		// 输出张三, 李四, 王五, 赵六
	}
	
	/**
	 * 根据key取值
	 */
	@Test
	public void searchValueByKey(){
		String value = (String) redisTemplate.boundHashOps("nameHashMap").get("b");
		System.out.println(value); 		//输出 李四
	}
	
	/**
	 * 移除某个key-value
	 */
	@Test
	public void removeByKey(){
		redisTemplate.boundHashOps("nameHashMap").delete("b");
		//移除后,nameHashMap中就没有 b-李四 这一组key-value
	}
	
	@Test
	public void delete(){
		//删除nameHashMap key的记录
		redisTemplate.delete("nameHashMap");
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_43231076/article/details/83113980