1. 依赖与配置
Spring官方也对Redis的命令进行了封装,在创建项目时导入对应的依赖即可使用:
此外我们还需要写一些配置信息:
spring:
application:
name: springRedis
data:
redis:
port: 6379
host: 127.0.0.1

Spring提供了一个RedisTemplate类用来操作Redis,这里的StringRedisTemplate是RedisTemplate的一个子类用来专门处理字符串数据的。Spring中的接口风格和原生的Redis命令有一定的差异,Spring操作redis的方法分成了几个类别分别组织起来,例如这里的opsForHash()方法可以得到一个专门操作hash类型的对象,其类型也是如此
2. 操作String类型
我们使用opsForValue方法可以获得操作String类型的对象,可以看到其中有许多相关的方法我们直接使用即可:
java
@RequestMapping("/testString")
public String testString() {
redisTemplate.opsForValue().set("key1", "v1");
redisTemplate.opsForValue().set("key2", "v2");
redisTemplate.opsForValue().set("key3", "v3");
return redisTemplate.opsForValue().get("key3");
}
注意spring并没有封装全部的redis命令,例如flushall,如果我们想要执行这些没有被封装的 命令可以使用execute()方法:
java
redisTemplate.execute((RedisConnection connection) -> {
connection.flushAll();
return null;
});
通过这里的connection就可以执行redis原生的命令
3. 操作List
java
@RequestMapping("/testList")
public List<String> testList() {
redisTemplate.execute((RedisConnection connection) -> {
connection.flushAll();
return null;
});
redisTemplate.opsForList().leftPush("list1", "333");
redisTemplate.opsForList().leftPush("list1", "222");
redisTemplate.opsForList().leftPush("list1", "111");
redisTemplate.opsForList().rightPush("list1", "444");
return redisTemplate.opsForList().range("list1", 0, -1);
}

4. 操作set
java
@RequestMapping("/testSet")
public Set<String> testSet() {
redisTemplate.execute((RedisConnection connection) -> {
connection.flushAll();
return null;
});
redisTemplate.opsForSet().add("set1", "111", "222", "333");
System.out.println(redisTemplate.opsForSet().size("set1"));
return redisTemplate.opsForSet().members("set1");
}

5. 总结
在spring中提供的方法只要大家对于redis命令足够熟悉相信是能够正常的猜测出每个方法的具体作用,不够熟悉的也可以在spring的官方网站上进行查询,关于redis基础使用的学习到这里就基本完结了。