Jedis操作String和Hash

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"));
   }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值