面向百度编程,写起来怕自己忘了
看不懂的了解一下hash的数据结构
所使用的pom包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>2.2.7.RELEASE</version>
</dependency>
导入的包以及所用的接口类;
import org.springframework.data.redis.core.StringRedisTemplate;
@Autowired
StringRedisTemplate redisTemplate;
使用用spring data redis 的sessionCallback向redis 发送一批操作命令,管道式执行
添加,删除
SessionCallback<Objects> sessionCallback = new SessionCallback<Objects>() {
@Override
public Objects execute(RedisOperations op) throws DataAccessException {
//添加缓存 value 为map类型的对象
op.opsForHash().putAll("key","value");
//删除缓存 value 是你所要删除的hash缓存要删除的key数组
op.opsForHash().delete("key","value");
//设置过期时间 毫秒数最好设置一个间隔的随机时间 避免缓存雪崩
op.expire("key","毫秒数",TimeUnit.SECONDS);
return null;
}
};
//执行
redisTemplate.executePipelined(sessionCallback);
获取缓存,获取后消失
//从第一个获取,例如1000个值,使用获取后就只有999个
redisTemplate.opsForList().leftPop("key");
从缓存中查询数据
查询key所有的数据
List<String> str = redisTemplate.opsForHash().values("key")
.stream().map(o-> Objects.toString(o)).collect(Collectors.toList());
自用。如何雷同,纯属巧合