一、opsForList用法
key:字符串,value:可以是任意对象Object(例如String、具体对象如自定义类Student等),一个key可以分别先后添加多个value。
redis对list操作分为左和右两种
redisTemplate.opsForList().leftPush() 实际调用的是lPush return
connection.lPush(rawKey, new byte[][]{rawValue});
redisTemplate.opsForList().rightPush() 调用的是rPush
lPush将数据添加到key对应的现有数据的左边,也就是头部,rPush是将现有数据添加到现有数据的右边,也就是尾部,可以根据业务的不同进行对应的添加
//赋值方法
redisTemplate.opsForList().leftPush("testKey","L1");
redisTemplate.opsForList().leftPush("testKey","L2");
redisTemplate.opsForList().leftPush("testKey","L3");
redisTemplate.opsForList().rightPush("testKey","R4");
redisTemplate.opsForList().rightPush("testKey","R5");
redisTemplate.opsForList().rightPush("testKey","R6");
redisTemplate.opsForList().rightPush("testKey","R7");
L3 L2 L1 R4 R5 R6 R7
二、opsForValue用法
key:字符串,value:可以是任意对象Object(例如String、具体对象如自定义类Student等),一个key只能对应一个value。
//赋值方法
redisTemplate.opsForValue().set("username1","李四");
redisTemplate.opsForValue().set("username2","王五");
redisTemplate.opsForValue().set("username3","赵六");
//取值,返回是String类型
String str1 = redisTemplate.opsForValue().get("username1");
String str2 = redisTemplate.opsForValue().get("username2");
String str3 = redisTemplate.opsForValue().get("username3");
//赋值方法
redisTemplate.opsForValue().set("stu1",new Student(1,"张三",20,"张无忌"));
redisTemplate.opsForValue().set("stu2",new Student(2,"李四",20,"张真人"));
//取值,返回是Student类型
Student stu1 = redisTemplate.opsForValue().get("stu1");
Student stu2 = redisTemplate.opsForValue().get("stu2");
总结:set时value传的是什么类型,get后返回的就是什么类型。