项目描述
上传时间
浏览人数
6.Redis常用函数(详见实例项目RedisService.java及RedisServiceImpl.java)
Service层代码如下:
Service:
@Service
public interface RedisService {
//保存数据
boolean set(final String key, Object val);
//保存数据 带失效时间
boolean set(final String key, Object val, long timeAsSecond);
//获取数据
Object get(final String key);
// 存值到redis的Map中
boolean setMap(final String key, String itemKey, Object val);
// 存值到redis的Map中 带失效时间
boolean setMap(final String key, String itemKey, Object val, long timeAsSecond);
// 取值 Map 所有
Object getMap(final String key);
// 取值 Map
Object getMap(final String key, String itemKey);
//删除key
boolean deleteByKey(final String key);
//删除Map下的指定key
boolean deleteMap(final String key, String itemKey);
//添加到List
boolean setList(final String key, Object val);
//添加到List 带失效时间
boolean setList(final String key, Object val,long timeAsSecond);
//获取List中所有数据
List<Object> getList(final String key);
//获取list中指定索引的数据
Object getList(final String key, long idx);
}
ServiceImpl:
@Service
public class RedisServiceImpl implements RedisService {
@Autowired
private RedisTemplate redisTemplate;
//保存数据
@Override
public boolean set(String key, Object val) {
try {
ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
operations.set(key, val);
return true;
} catch (Exception e) {
return false;
}
}
//保存数据 带失效时间
public boolean set(final String key, Object val, long timeAsSecond) {
try {
ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
operations.set(key, val);
redisTemplate.expire(key, timeAsSecond, TimeUnit.SECONDS);
return true;
} catch (Exception e) {
return false;
}
}
//获取数据
@Override
public Object get(String key) {
try {
ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
return operations.get(key);
} catch (Exception e) {
return null;
}
}
// 存值到redis的Map中
@Override
public boolean setMap(String key, String itemKey, Object val) {
try {
redisTemplate.opsForHash().put(key, itemKey, val);
return true;
} catch (Exception e) {
return false;
}
}
// 存值到redis的Map中 带失效时间
@Override
public boolean setMap(String key, String itemKey, Object val, long timeAsSecond) {
try {
redisTemplate.opsForHash().put(key, itemKey, val);
redisTemplate.expire(key, timeAsSecond, TimeUnit.SECONDS);
return true;
} catch (Exception e) {
return false;
}
}
// 取值 Map 所有
@Override
public Object getMap(String key) {
try {
return redisTemplate.opsForHash().entries(key);
} catch (Exception e) {
return null;
}
}
// 取值 Map
@Override
public Object getMap(String key, String itemKey) {
try {
return redisTemplate.opsForHash().get(key, itemKey);
} catch (Exception e) {
return null;
}
}
//删除key
@Override
public boolean deleteByKey(String key) {
return redisTemplate.delete(key);
}
//删除Map下的指定key
@Override
public boolean deleteMap(String key, String itemKey) {
long deleted = redisTemplate.opsForHash().delete(key, itemKey);
return deleted != 0 ? true : false;
}
//添加到List
@Override
public boolean setList(String key, Object val) {
long added = redisTemplate.opsForList().rightPush(key, val);
return added != 0 ? true : false;
}
//添加到List 带失效时间
@Override
public boolean setList(String key, Object val, long timeAsSecond) {
long added = redisTemplate.opsForList().rightPush(key, val);
redisTemplate.expire(key, timeAsSecond, TimeUnit.SECONDS);
return added != 0 ? true : false;
}
//获取List中所有数据
@Override
public List<Object> getList(String key) {
return redisTemplate.opsForList().range(key, 0, -1);
}
闫云*