1.在SpringBoot中,通常使用pom文件中导入的redis依赖来操作Redis.
public class RedisController {
/**
* 通过SpringBoot框架提供的RedisTemplate模板,直接注入
*/
@Resource
private RedisTemplate redisTemplate;
/**
* 这是串行化的模板方式,将字符串串行化写入/读取.
*/
@Resource
private StringRedisTemplate stringRedisTemplate;
//添加数据到redis
@PostMapping("addredis/{k}/{v}")
public String addToRedis(@PathVariable String k, @PathVariable String v) {
//通过字符串串行化stringRedisTemplate方式将k,v一堆键值对写入到Redis
stringRedisTemplate.opsForValue().set(k, v);
//这个是修改RedisTemplate设置key的串行化方式(还有其他的,可以自己去看看方法)
redisTemplate.setKeySerializer(new Jackson2JsonRedisSerializer<Object>(Object.class));
//修改设置value串行化的方式(这里使用的串行化方式是json的方式)
redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer<Object>(Object.class));
//通过redisTemplate对象写入k,v值
redisTemplate.opsForValue().set(k, v);
return "向Redis中添加数据";
}
//从redis获取数据
@GetMapping("getredis")
public String getData(String k) {
//通过k在Redis中查询值
String v = stringRedisTemplate.opsForValue().get(k);
return "key的值是:" + k + ",它的值是:" + v;
}
}
2.通过redis提供的jedis来操作Redis
SpringBoot提供的redis依赖其实是对jedis的封装,而使用jedis操作redis也差不多,只不过操作更加的细致,就如jdbc操作mysql和mybatis操作mysql.
需要导入Jedis包才能使用操作类!!!
Jedis操作Redis:
public class A{
public static void main(String[] args) {
//创建和Redis的链接,分别写入地址和端口号
Jedis reidsCli = new Jedis("localhost", 6379);
//添加单个k,v值
redisCli.set(k,v);
//按照key删除一个值
redisCli.del(k);
//用列表的方式写入数据到redis.使用rpush()方法
reidsCli.rpush("acc", "timo", "AfirLis", "Jack");
//读取写入的列表的数据,用lrange()方法
List<String> userlist = reidsCli.lrange("acc", 0, 2);
for (String list : userlist) {
System.out.println(list);
}
reidsCli.del("abc", "acc");
}
}