字符串在redis中的存入,取出和删除
@Autowird
private StringRedisTemplate stringRedisTemplate;
//存入redis
// key
// value
// 缓存的默认超时时间,例子是2小时
// 时间单位,例子是秒
stringRedisTemplate.opsForValue().set("key","value",2*60*60,TimeUnit.SECONDS);
//从redis中取出
stringRedisTemplate.opsForValue().get("key");
//清空redis中的缓存
stringRedisTemplate.opsForValue().getOperations().delete("key");
对redis中的list进行操作
@Autowird
private RedisTemplate redisTemplate;
String key = "test01";
HashMap map = new HashMap();
map.put("xxx","xxx");
map.put("xxx","xxx");
map.put("xxx","xxx");
map.put("xxx","xxx");
//取出redis中所有的值
ArrayList> list = (ArrayList>) redisTemplate.opsForList().range(key,0,-1);
int sizeRedis = list.size();
//判断redis里的值是否有发送过来的值,若有则删除原有的值,将发送过来的值存入首位,若无则删除末尾的值,将发送过来的值存入首位
for(HashMap RecentUsed:list) {
//若redis中含有相同的value,则直接删除原有的
if("key".equals(RecentUsed.get("key"))){
redisTemplate.opsForList().remove(key,1,RecentUsed)
break;
}
}
//redis里的数据无相同数据并且数据数量大于等于4则删除最后一个数据
if(sizeRedis >= 4){
redisTemplate.opsForList().rightPop(key);
}
//将发送过来的数据直接添加到集合左边
redisTemplate.opsForList().leftPush(key,map);
//删除单个key
redisTemplate.delete(key);