Jedis操作String
@Slf4j
@Service
public class JedisServiceImpl {
@Autowired
private JedisPool jedisPool;
//Redis完成缓存功能
/*
jedis 完成对Redis所有命令操作
* 1.判断Redis中是否存在key
* 如果key存在 查询Redis
* 如果key不存在 查询MYSQL数据库 将查询结果存入Redis中 并返回
* */
public String getMessage(String year){
String key="meaage:"+year;
Jedis jedis = jedisPool.getResource();
if(!jedis.exists(key)){
// 如果key不存在 查询MYSQL数据库 将查询结果存入Redis中
log.info("查询MYSQL数据库");
String result="牛年-》扭转乾坤";
jedis.set(key,result);
return result;
}else{
log.info("查询redis");
String s = jedis.get(key);
return s;
}
}
}
jedis操作Hash:
/*
* 对象Redis hash类型进行存取
*
* 1.根据用户ID生成key
* 2.判断Redis中是否存在key
* 3.如果不存在 查询MYSQL 将查询结果返回,并存入Redis
* 4.存在 直接查询Redis返回
*
* */
public User selectUserById(String id){
String key="user:"+id;
//得到jedis链接
Jedis jedis = jedisPool.getResource();
User user=new User();
if (jedis.exists(key)) {
Map<String, String> stringStringMap = jedis.hgetAll(key);
user.setName(stringStringMap.get("name"));
user.setId(stringStringMap.get("id"));
user.setRemark(stringStringMap.get("remark"));
}else{
log.info("查询MYSQL数据库");
user.setId("111");
user.setName("zhangsan ");
user.setRemark("hello");
Map<String,String> map=new HashMap<>();
map.put("id",user.getId());
map.put("name",user.getName());
map.put("remark",user.getRemark());
jedis.hset(key,map);
log.info("在mysql中查询的数据成功存入Redis");
}
return user;
}
测试:
@Test
void testhash(){
System.out.println(jedisServiceimpl.selectUserById("111"));
}