一:安裝redis
honghedeMacBook-Pro:bin honghe$ sudo ./redis-server 啓動redis
查看redis狀態(開啓新終端)
修改密碼
二:springboot中集成
1.引入包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2.配置redis
application.xml配置
spring.redis.database=1
spring.redis.host=127.0.0.1
spring.redis.password=123456
spring.redis.port=6379
# 連接超時時間-毫秒值
spring.redis.timeout=3000
代碼配置redisTemplate (此處採用代碼配置)
/**
* TODO 類描述
*
* @author honghe
*/
@Configuration
public class RedisConfiguration {
private Logger logger = LoggerFactory.getLogger(this.getClass());
@Value("${spring.redis.host}")
private String host;
@Value("${spring.redis.port}")
private int port;
@Value("${spring.redis.timeout}")
private int timeout;
@Value("${spring.redis.password}")
private String password;
@Value("${spring.redis.database}")
private int database;
/**
* redis模板,存儲關鍵字是字符串,值是Jdk序列化
* @Description:
* @param factory
* @return
*/
@Bean
public RedisTemplate<String,Object> redisTemplate(RedisConnectionFactory factory) {
RedisTemplate<String,Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(factory);
RedisSerializer<String> redisSerializer = new StringRedisSerializer();
redisTemplate.setKeySerializer(redisSerializer);
redisTemplate.setHashKeySerializer(redisSerializer);
//JdkSerializationRedisSerializer序列化方式;
JdkSerializationRedisSerializer jdkRedisSerializer=new JdkSerializationRedisSerializer();
redisTemplate.setValueSerializer(jdkRedisSerializer);
redisTemplate.setHashValueSerializer(jdkRedisSerializer);
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
}
三:測試
@RunWith(SpringRunner.class)
@EnableAutoConfiguration
@SpringBootTest
public class SpringbootdemoApplicationTests {
@Autowired
StringRedisTemplate stringRedisTemplate;
@Test
public void addToRedis() {
User user = new User();
user.setSex("男");
user.setName("admin");
user.setId(1L);
stringRedisTemplate.opsForValue().set("user-admin", JSON.toJSONString(user));
String getRedisByKey = stringRedisTemplate.opsForValue().get("user-admin");
System.out.println("保存後查詢操作:"+getRedisByKey);
}
@Test
public void getByRedis() {
String getRedisByKey = stringRedisTemplate.opsForValue().get("user-admin");
System.out.println("保存後查詢操作:"+getRedisByKey);
}
}
終端查看
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[5]> keys *
1) "user-admin"
127.0.0.1:6379[5]> get "user-admin"
"{\"id\":1,\"name\":\"admin\",\"sex\":\"\xe7\x94\xb7\"}"
127.0.0.1:6379[5]>