一:安装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]>