一、操作String类型数据
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:spring/applicationContext-redis.xml") public class RedisStrTest { @Autowired private RedisTemplate redisTemplate; @Test public void testSetString(){ //模板绑定存储的数据类型为String并存入数据: key是bookName value是Java基础 redisTemplate.boundValueOps("bookName").set("Java基础"); } @Test public void testGetString(){ //模板绑定存储的数据类型为String并取数据:使用key bookName String testStr = (String) redisTemplate.boundValueOps("bookName").get(); System.out.println(testStr); } @Test public void testDelString(){ //直接用模板根据key删除数据,删除后无数据查询返回null redisTemplate.delete("bookName"); } //使用相同的key重新设置值便是更新 }
二、操作List类型数据
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:spring/applicationContext-redis.xml") public class RedisListTest { @Autowired private RedisTemplate redisTemplate; @Test public void testSetList(){ //模板绑定存储的数据类型为List并存入数据:key是myList,List的数据类型 redisTemplate.boundListOps("myList").leftPush("java"); redisTemplate.boundListOps("myList").leftPush("c#"); redisTemplate.boundListOps("myList").leftPush("python"); } @Test public void testGetList(){ //模板绑定存储的数据类型为List并取数据:key是myList,rang中0是开始,-1是全部 List myList = redisTemplate.boundListOps("myList").range(0, -1); myList.stream().forEach(System.out::println); //取list中的一个数据 :先进先出(相当于弹出-删除了) //String myList = (String) redisTemplate.boundListOps("myList").rightPop(); //System.out.println(myList); //java } @Test public void testDelList(){ //直接用模板根据key删除数据(删除整个集合) redisTemplate.delete("myList"); //指定删除list的数据 :删除一个java //redisTemplate.boundListOps("myList").remove(1,"java"); } //使用相同的key重新设置值便是更新 }
三、操作Set类型数据
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:spring/applicationContext-redis.xml") public class RedisSetTest { @Autowired private RedisTemplate redisTemplate; @Test public void testSetValue(){ //模板绑定存储的数据类型为Set并存入数据: key是mySet redisTemplate.boundSetOps("mySet").add("Java"); redisTemplate.boundSetOps("mySet").add("c#"); redisTemplate.boundSetOps("mySet").add("python"); redisTemplate.boundSetOps("mySet").add("html"); } @Test public void testGetValue(){ //模板绑定存储的数据类型为Set并取数据:使用key为 mySet Set mySet = redisTemplate.boundSetOps("mySet").members(); mySet.stream().forEach(System.out::println); } @Test public void testDelValue(){ //直接用模板根据key删除数据,删除整个Set集合 redisTemplate.delete("mySet"); //redisTemplate.boundSetOps("mySet").remove("html"); } //使用相同的key重新设置值便是更新 }
四、操作ZSet类型数据
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:spring/applicationContext-redis.xml") public class RedisZSetTest { @Autowired private RedisTemplate redisTemplate; //ZSet集合有序,数据有分值 @Test public void testSetValue(){ //模板绑定存储的数据类型为Set并存入数据: key是myZSet redisTemplate.boundZSetOps("myZSet").add("Java",15); redisTemplate.boundZSetOps("myZSet").add("c#",55); redisTemplate.boundZSetOps("myZSet").add("python",25); redisTemplate.boundZSetOps("myZSet").add("html",45); } @Test public void testGetValue(){ //1.模板绑定存储的数据类型为ZSet并取数据:使用key为 myZSet(取一定分值范围的) //Set myZSet = redisTemplate.boundZSetOps("myZSet").rangeByScore(20, 50); //myZSet.stream().forEach(System.out::println); //2.取全部的 //Set myZSet = redisTemplate.boundZSetOps("myZSet").range(0, -1); //myZSet.stream().forEach(System.out::println); //3.取数据,带分值 Set<DefaultTypedTuple> myZSet = redisTemplate.boundZSetOps("myZSet").rangeWithScores(0, -1); for (DefaultTypedTuple defaultTypedTuple : myZSet) { System.out.println(defaultTypedTuple.getValue());//数据 System.out.println(defaultTypedTuple.getScore());//分值 } } @Test public void testDelValue(){ //1.直接用模板根据key删除数据,删除整个ZSet集合 //redisTemplate.delete("myZSet"); //2.删除部分数据 redisTemplate.boundZSetOps("myZSet").removeRangeByScore(15,25); } //使用相同的key重新设置值便是更新 }
五、操作Hash类型数据
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:spring/applicationContext-redis.xml") public class RedisHashTest { @Autowired private RedisTemplate redisTemplate; @Test public void testSetHash(){ //模板绑定存储的数据类型为Hash并存入数据: key是myHash value是{后端:Java}等键值对 redisTemplate.boundHashOps("myHash").put("后端","Java"); redisTemplate.boundHashOps("myHash").put("前端","html"); redisTemplate.boundHashOps("myHash").put("数据库","mysql"); } @Test public void testGetHash(){ //模板绑定存储的数据类型为Hash并取数据:使用key为 myHash,获取键的集合 //Set myHash = redisTemplate.boundHashOps("myHash").keys(); //myHash.stream().forEach(System.out::println); //获取value的集合(值可重复,所以是list) //List myHash = redisTemplate.boundHashOps("myHash").values(); //myHash.stream().forEach(System.out::println); //使用myHash这个key获取到Hash并用键获取值 String s = (String) redisTemplate.boundHashOps("myHash").get("后端"); System.out.println(s); } @Test public void testDelHash(){ //直接用模板根据key删除数据,删除整个Hash集合 //redisTemplate.delete("myHash"); redisTemplate.boundHashOps("myHash").delete("后端"); } //使用相同的key重新设置值便是更新 }
原文链接:Redis和SpringDataRedis