用SpringDataRedis操作redis

Spring Data Redis需要和spring进行整合,需要导spring-data-redis包。然后需要在配置文件里配一个jedis的连接池(JedisPoolConfig),里面有host(主机,就是装服务器的地址),port端
口号,maxIdle(最大空闲数),maxWait(最大等待数),再配一个jedis的连接工厂(JedisConnectionFactory),再来一个模板(RedisTemplate),这个模板里面拥有操作数据的方法。
用的时候直接从容器里拿个模板用就行。
@Autowired
private RedisTemplate redisTemplate; //从容器中拿模板过来

操作value类型数据
    @Test
    public void testAdd() {
        redisTemplate.boundValueOps("value_key").set("zhangsan");
        //redisTemplate.boundValueOps("value_key").set("zhangsan", 30L, TimeUnit.HOURS);//带存活时间,存数据后的30个小时候就没了
    }
    
    @Test
    public void testGet() {
        Object object = redisTemplate.boundValueOps("value_key").get();
        System.out.println(object);
    }
    @Test
    public void testDel() {
        redisTemplate.delete("value_key");
    }

【操作set类型数据//set无序,不可重复】
    @Test
    public void testAdd() {
        redisTemplate.boundSetOps("set_key").add("zhangsan");
        redisTemplate.boundSetOps("set_key").add("lisi");
        redisTemplate.boundSetOps("set_key").add("wangwu");
        redisTemplate.boundSetOps("set_key").add("zhaoliu");
    }
    
    @Test
    public void testGet() {
         Set members = redisTemplate.boundSetOps("set_key").members();
         for (Object object : members) {
             System.out.println(object);
        }
        
    }
    @Test
    public void testDel() {
        redisTemplate.boundSetOps("set_key").remove("zhangsan");        
    }

【操作list数据类型//list有序,可重复】
    @Test
    public void testAdd() {
//        redisTemplate.boundListOps("list_key").leftPush("zhangsan");//左压栈
//        redisTemplate.boundListOps("list_key").leftPush("lisi");
//        redisTemplate.boundListOps("list_key").leftPush("wangwu");
//        redisTemplate.boundListOps("list_key").leftPush("zhaoliu");
//        zhaoliu wangwu lisi zhangsan
        redisTemplate.boundListOps("list_key").rightPush("zhangsan");//右压栈
        redisTemplate.boundListOps("list_key").rightPush("lisi");
        redisTemplate.boundListOps("list_key").rightPush("wangwu");
        redisTemplate.boundListOps("list_key").rightPush("zhaoliu");
        
//        zhangsan lisi wangwu zhaoliu
    } 
    
    @Test
    public void testGet() {
         List members = redisTemplate.boundListOps("list_key").range(0, 10);
         for (Object object : members) {
             System.out.println(object);
        }
        
    }
    @Test
    public void testDel() {
//        p1:需要删除的个数   p2:需要删除的值
        redisTemplate.boundListOps("list_key").remove(1, "lisi");
//        redisTemplate.delete("list_key");
    }
【操作hash类型数据,当成一个map来对待就行】
@Test
    public void testAdd() {
        redisTemplate.boundHashOps("hash_key").put("aa", "AAAAA");
        redisTemplate.boundHashOps("hash_key").put("bb", "BBBBB");
        redisTemplate.boundHashOps("hash_key").put("cc", "CCCCC");
//        zhangsan lisi wangwu zhaoliu
    } 
    
    @Test
    public void testGet() {
        Set keys = redisTemplate.boundHashOps("hash_key").keys();
         for (Object object : keys) {
             Object object2 = redisTemplate.boundHashOps("hash_key").get(object);
             System.out.println(object+":"+object2);
        }
        
    }
    @Test
    public void testDel() {
        redisTemplate.boundHashOps("hash_key").delete("aa");//删除"aa"对应的
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值