1、在pom文件中添加redis依賴
<code><dependency>
\t\t\t<groupid>org.springframework.boot/<groupid>
\t\t\t<artifactid>spring-boot-starter-data-redis/<artifactid>
\t/<dependency>/<code>
2、在配置文件中添加配置
<code># Redis數據庫索引(默認為0)
spring.redis.database=0
# Redis服務器地址
spring.redis.host=localhost
# Redis服務器連接端口
spring.redis.port=6379
# Redis服務器連接密碼(默認為空)
spring.redis.password=
# 連接池最大連接數(使用負值表示沒有限制)
spring.redis.pool.max-active=8
# 連接池最大阻塞等待時間(使用負值表示沒有限制)
spring.redis.pool.max-wait=-1
# 連接池中的最大空閒連接
spring.redis.pool.max-idle=8
# 連接池中的最小空閒連接
spring.redis.pool.min-idle=0
# 連接超時時間(毫秒)
spring.redis.timeout=1000/<code>
注入RedisTemplate 或者StringRedisTemplate 即可直接使用
使用StringRedisTemplate示例
StringRedisTemplate 繼承了 RedisTemplate<string> 所以key、value都是字符串類型的,key、value都是使用StringRedisSerializer進行序列化的/<string>
<code>public StringRedisTemplate() {
\t\tRedisSerializer<string> stringSerializer = new StringRedisSerializer();
\t\tsetKeySerializer(stringSerializer);
\t\tsetValueSerializer(stringSerializer);
\t\tsetHashKeySerializer(stringSerializer);
\t\tsetHashValueSerializer(stringSerializer);
\t}/<string>/<code>
StringRedisTemplate 使用示例:
在測試類中注入:
<code> @Autowired
StringRedisTemplate stringRedisTemplate;/<code>
測試方法中:
<code>@Test
public void testStringRedisTemplate() throws Exception {
stringRedisTemplate.opsForValue().set("age","22");
System.out.println(stringRedisTemplate.opsForValue().get("age"));
}/<code>
RedisTemplate 使用示例:
在測試類中注入:
<code>@Autowired
RedisTemplate redisTemplate;/<code>
測試方法中:
<code>Test
public void testredisTemplate() throws Exception {
/*RedisTemplate 需要自己序列化,默認的 JdkSerializationRedisSerializer 存到數據中的是二進制的*/
redisTemplate.opsForValue().set("aaa",121);
System.out.println(redisTemplate.opsForValue().get("aaa"));
}/<code>
這樣存儲到redis中的key、value都是被序列化成了二進制的,可自己配置序列化方式,參考如下:
<code>@Configuration
public class RedisConfig{
@Bean
@ConditionalOnMissingBean(name = "redisTemplate")
public RedisTemplate<object> redisTemplate(
RedisConnectionFactory redisConnectionFactory) throws UnknownHostException {
RedisTemplate<object> template = new RedisTemplate<>();
template.setConnectionFactory(redisConnectionFactory);
template.setDefaultSerializer(new GenericJackson2JsonRedisSerializer());
return template;
}
}/<object>/<object>/<code>
再次執行上面的測試方法會發現不是二進制的了。
使用RedisTemplate存儲對象:
1、首先在pom中添加依賴:
<code>
ependency>
\t\t\t<groupid>com.fasterxml.jackson.core/<groupid>
\t\t\t<artifactid>jackson-databind/<artifactid>
\t\t/<code>
2、新建User類實現Serializable:
<code>public class User implements Serializable {
private Integer id;
private String name;
private Integer age;
//省略get、set方法,toString方法,構造方法
}/<code>
3、添加測試方法
<code> @Test public void testredisTemplate() throws Exception {
redisTemplate.opsForValue().set("user",new User(1,"fangzy",20));
System.out.println(redisTemplate.opsForValue().get("user"));
}/<code>
存到redis中的數據是json格式的
{“@class”:”cn.com.example.domain.User”,”id”:1,”name”:”fangzy”,”age”:20} 可直接強轉User對象閱讀更多 編程學習手記 的文章