启动指令
redis-server.exe redis.windows.conf
1.导入Spring Data Redis的maven坐标
在pom.xml中添加依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>
2.配置Redis数据源
在yml文件中配置相应的数据源
redis:host: localhostport: 6379password: 123456
3.编写配置类,创建RedisTemplate对象
@Configuration
@Slf4j
public class RedisConfiguration {@Bean//声明了bean会在启动时自动执行 redisConnectionFactory由starter自动创建无需自己创建public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) {log.info("开始创建redis模板对象..");RedisTemplate redisTemplate = new RedisTemplate();//设置redis的连接工厂对象redisTemplate.setConnectionFactory(redisConnectionFactory);//设置redis key的序列化器redisTemplate.setKeySerializer(new StringRedisSerializer());return redisTemplate;}
}
4.通过RedisTemplate对象操作Redis
@SpringBootTest
public class SpringDataRedisTest {@Autowiredprivate RedisTemplate redisTemplate;@Testpublic void testRedisTemplate() {System.out.println(redisTemplate);//对应操作String类型ValueOperations valueOperations = redisTemplate.opsForValue();//对应操作Hash类型HashOperations hashOperations = redisTemplate.opsForHash();//对应操作list类型ListOperations listOperations = redisTemplate.opsForList();//对应操作集合类型SetOperations setOperations = redisTemplate.opsForSet();//对应操作有序集合类型ZSetOperations zSetOperations = redisTemplate.opsForZSet();}/*** 操作字符串类型的数据*/@Testpublic void setStringOper() {System.out.println(redisTemplate);//set get setx setnxredisTemplate.opsForValue().set("city", "北京");Object city = redisTemplate.opsForValue().get("city");System.out.println(city);redisTemplate.opsForValue().set("code", "1234", 30, TimeUnit.SECONDS);redisTemplate.opsForValue().setIfAbsent("li", 1);redisTemplate.opsForValue().setIfAbsent("li", 2);}/*** 操作哈希类型的数据*/@Testpublic void testHash() {//hset hget hkeys hvalsHashOperations hashOperations = redisTemplate.opsForHash();hashOperations.put("200", "name", "alan");hashOperations.put("200", "age", "12");System.out.println(hashOperations.keys("200"));System.out.println(hashOperations.values("200"));hashOperations.delete("200","name");}
}