赞
踩
可安装可视化的Redis管理工具
连接之后,刷新一下;即可看到数据信息
案例操作
字符串和字符串值之间的映射
,例如存储单个用户的姓名、年龄…案例操作
简单的字符串列表,按照插入顺序排序。可添加一个元素到列表的头部(左边)或者尾部(右边).
列表最多可存储 232 - 1 元素 (4294967295, 每个列表可存储 40 多亿)
案例
案例,这里我把grade1添加了两次,第二次的就被忽略了;
可看到它不是有序的;
zset集合中; 每个元素都会关联一个 double 类型的分数。通过分数来为集合中的成员进行从小到大
的排序。
zset 的成员唯一,但分数(score)可以重复。
添加元素到集合,元素在集合中存在,更新对应分数值 score
案例
有序
对于一些缓存,验证码等数据,可在一定时间内自动的被销毁。
对 key设置过期时间,在 key 过期之后被自动删除
不设置失效时间的话,默认为-1
在设置存储数组时直接配置时间
EX 表示以秒为单位
PX 表示以毫秒为单位 EX,PX 不区分大小写
set name jim EX 30 设置失效时间为 30 秒
ttl 键 查看剩余时间(秒)
pttl 键 查看剩余时间(毫秒)
需要对已经存入的数据设置失效时间时
expire 键 时间(秒)
pexpire 键 时间(毫秒)
例如这个当时没有设置失效时间,默认就是 -1;
这时的数据库中已经没有这个键了
首先在pom.xml文件中导入依赖
<!--redis-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
可使用这个“RedisTemplate类
ValueOperations:简单 K-V 操作
SetOperations:set 类型数据操作
ZSetOperations:zset 类型数据操作
HashOperations:针对 map 类型的数据操作
ListOperations:针对 list 类型的数据操作
在application.yml
中进行配置
spring:
redis:
host: 链接的Ip
port: 6379
password: redis密码
database: 0
pool:
max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
max-idle: 8 # 连接池中的最大空闲连接
min-idle: 0 # 连接池中的最小空闲连接
timeout: 5000ms # 连接超时时间(毫秒)
序列化配置类
package com.xiaozhi.backserver.startspringboot.config; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonTypeInfo; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; @Configuration public class RedisConfig { /** * 序列化键,值 * @param connectionFactory * @return */ @Bean public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) { RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>(); redisTemplate.setConnectionFactory(connectionFactory); Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<Object>(Object.class); StringRedisSerializer redisSerializer = new StringRedisSerializer(); redisTemplate.setKeySerializer(redisSerializer); redisTemplate.setHashKeySerializer(redisSerializer); redisTemplate.setValueSerializer(jackson2JsonRedisSerializer); redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer); return redisTemplate; } }
在测试类中使用
@SpringBootTest
class StartspringbootApplicationTests {
//自动装配;
@Autowired
RedisTemplate redisTemplate;
@Test
void contextLoads() {
ValueOperations valueOperations = redisTemplate.opsForValue();
//序列化为json格式;
valueOperations.set("role",new Role(12,"小智","从零开始的异世界生活",new Date()));
//可设置失效时间;
//redisTemplate.opsForValue().set("users", users,10*1000, TimeUnit.MILLISECONDS);
}
}
存储成功
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。