jedis_java客户端操作redis工具

1. Jedis

  • 概念: 一款java操作redis数据库的工具
  • 使用步骤:
  • 快速入门使用:
  • 创建一个java项目,导入jar包(maven项目就写好配置文件)
  • 在启动redis服务器的前提下输入这么几行代码:
			@Test
		    public void test1() {
		        //1.获取连接,如果使用无参构造,其默认值为: localhost 和 6379端口
		        Jedis jedis = new Jedis("localhost", 6379);
		        //2.操作
		        jedis.set("name", "fanlei");
		        //3.关闭连接
		        jedis.close();
		    }
  • 运行之后,打开redis客户端,在黑窗口输入keys *,会发现只有一个name的键存在,输入get name得到我们代码中的值樊磊,这就表示我们已经成功存到redis数据库中了

2. Jedis操作各种redis的数据结构

  • 字符串类型: String(set get del)
		public void test1() {
        //1.获取连接,如果使用无参构造,其默认值为: localhost 和 6379端口
        Jedis jedis = new Jedis("localhost", 6379);
        //2.操作
        //1. 操作string类型的数据
        jedis.set("stringset", "stringtest");
        jedis.set("stringset1", "stringtest1");
        System.out.println(jedis.get("stringset"));
        //3.关闭连接
        jedis.close();
    }
  • 哈希类型: hash,也就是map格式–key,value(map的key不重,重复会覆盖其value,hset hget hdel)
		public void test1() {
        //1.获取连接,如果使用无参构造,其默认值为: localhost 和 6379端口
        Jedis jedis = new Jedis("localhost", 6379);
        //2.操作
        //操作哈希类型的数据
        jedis.hset("key","field","value");
        String s = jedis.hget("key", "field");
        System.out.println(s);
        //设置其过期时间,效果就是将activecode-value存入redis,10秒后自动删除(可以在客户端用keys *观察效果)
        String s1 = jedis.setex("activecode", 10, "value");
        System.out.println(s1);
        //3.关闭连接
        jedis.close();
    	}
  • 列表类型: list,例如linkedlist(l/rpush lrange l/rpop)
		public void test1() {
        //1.获取连接,如果使用无参构造,其默认值为: localhost 和 6379端口
        Jedis jedis = new Jedis("localhost", 6379);
        //2.操作
        //操作list类型的数据
        /*这里有一个点需要注意一下,就是因为list是可重复的
		所以当服务器不关闭的时候下面这行语句重复运行后,这些value会不断地往对应的key里面存
		所以会导致key对应的list越来越大*/
        jedis.lpush("listl", "string1","string2");
		//listl中顺序:"string1","string2"
        jedis.lpush("listr", "string3","string4");
		//listr中顺序:"string3","string4"
        /*List<String> list = jedis.lrange("listr", 0, -1);
        for (String s : list) {
            System.out.println(s);
        }*/

        System.out.println(jedis.lpop("listr"));
        //获取长度
        System.out.println(jedis.llen("listr"));
        //3.关闭连接
        jedis.close();
    	}
  • 集合类型: set,例如hashset(sadd smembers srem)
		public void test1() {
        //1.获取连接,如果使用无参构造,其默认值为: localhost 和 6379端口
        Jedis jedis = new Jedis("localhost", 6379);
        //2.操作
        //操作set集合类型的数据
        jedis.sadd("set", "member1", "member2");
        jedis.sadd("set1", "member3", "member4");
        Set<String> set = jedis.smembers("set");
        Iterator<String> iterator = set.iterator();
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }
        System.out.println("------------------");

        //删除set1中的元素
        jedis.srem("set", "member2");

        Set<String> set1 = jedis.smembers("set");
        for (String s : set1) {
            System.out.println(s);
        }
        //3.关闭连接
        jedis.close();
    	}
  • 有序集合类型: sortedset(不重复,有序, zadd zrem zrange)
		public void test1() {
        //1.获取连接,如果使用无参构造,其默认值为: localhost 和 6379端口
        Jedis jedis = new Jedis("localhost", 6379);
        //2.操作
        //操作有序集合类型的数据
        jedis.zadd("key", 1, "member1");
        jedis.zadd("key", 2, "member2");
        jedis.zadd("key", 3, "member3");

        Set<String> key = jedis.zrange("key", 0, -1);
        for (String s : key) {
            System.out.println(s);
        }
        System.out.println("--------------");

        jedis.zrem("key", "member2");

        Set<String> key2 = jedis.zrange("key", 0, -1);
        for (String s : key2) {
            System.out.println(s);
        }
        //3.关闭连接
        jedis.close();
    }

Jedis连接池: JedisPool

  • 使用:
  1. 创建连接池对象,
  1. 调用方法getResource()获取jedis的连接
 		public void test1() {
        //创建jedispoolconfig对象
        JedisPoolConfig config = new JedisPoolConfig();
        //设置最大连接数
        config.setMaxTotal(50);
        //设置最大空闲数
        config.setMaxIdle(10);
        //1.创建jedis连接池对象,可以使用空参,也可以自己配置
        JedisPool jedisPool = new JedisPool(config,"localhost");
        //2. 获取连接,返回一个jedis对象
        Jedis resource = jedisPool.getResource();
        //3. 使用
        resource.set("pool", "haha");
        //4.关闭,将其归还到连接池中
        resource.close();

        System.out.println(resource.get("pool"));
   	 	}                    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值