jedis

1 篇文章 0 订阅
1 篇文章 0 订阅

… …

请先学习 redis简单教学
jedis是Java用来操作redis数据库的工具
在使用jedis的时候记得打开redis的服务

数据的操作

  	/**
  	 * *: del
     * string: set, get, del, setex
     * hashMap: hset, hget, hdel, hgetAlll
     * list: lpush, rpush, lpop, rpop, lrange
     * set: sadd, srem, smembers
     * sortedSet: zadd, zrem, zrange
     */
  • string类型的操作
        // string类型的操作
    	@Test
        public void test1() {
            // redis默认端口为6379
            // Jedis jedis = new Jedis(); // 空参默认为localhost和6379 
            Jedis jedis = new Jedis("127.0.0.1",6379);
            jedis.set("username","juln");
            jedis.setex("activeCode",20,"xxxxxx"); // setex, 设置过期时间为20s 
            jedis.del("username");
            jedis.close();
        }
    
  • hashMap类型的操作
        // hashMap类型的操作
    	@Test
        public void test2() {
            // redis默认端口为6379
            // Jedis jedis = new Jedis(); // 空参默认为localhost和6379 
            Jedis jedis = new Jedis("127.0.0.1",6379);
            jedis.hset("user","name","juln");
            String username = jedis.hget("user", "name");
            Map<String, String> user = jedis.hgetAll("user");
            for (String key: user.keySet()) {
                System.out.println(key+':'+user.get(key));
            }
            jedis.hdel("user","name");
            jedis.del("user");
            jedis.close();
        }
    
  • list类型的操作
        // list类型的操作
    	@Test
        public void test3() {
            // redis默认端口为6379
            // Jedis jedis = new Jedis(); // 空参默认为localhost和6379 
            Jedis jedis = new Jedis("127.0.0.1",6379);
            jedis.lpush("numbers","3","2","1");
            jedis.rpush("numbers","4","5","6");
            List<String> numbers = jedis.lrange("numbers",0,-1);
            System.out.println(numbers); // [1,2,3,4,5,6]
            String i1 = jedis.lpop("numbers"); // 1
            String i2 = jedis.rpop("numbers"); // 6
            jedis.del("numbers");
            jedis.close();
        }
    
  • set类型的操作
        // set类型的操作
    	@Test
        public void test4() {
            // redis默认端口为6379
            // Jedis jedis = new Jedis(); // 空参默认为localhost和6379 
            Jedis jedis = new Jedis("127.0.0.1",6379);
            jedis.sadd("language","java","python","js");
            Set<String> language = jedis.smembers("language");
            System.out.println(language); // [js,java,python] 无序 
            jedis.srem("language","java");
            jedis.del("language");
            jedis.close();
        }
    
  • sortedSet类型的操作
        // sortedSet类型的操作
    	@Test
        public void test5() {
            // redis默认端口为6379
            // Jedis jedis = new Jedis(); // 空参默认为localhost和6379 
            Jedis jedis = new Jedis("127.0.0.1",6379);
            jedis.zadd("language",80,"Java");
            jedis.zadd("language",100,"JavaScript");
            jedis.zadd("language",70,"Python");
            Set<String> language = jedis.zrange("language",0,-1);
            System.out.println(language); // [Python,Java,JavaScript] 按分数从低到高排序 
            jedis.zrem("language","Python");
            jedis.del("language");
            jedis.close();
        }
    

连接池 jedisPool

  • 配置参数
    /**
         * 配置参数
         * maxTotal = 1000 最大活动对象数
         * maxIdle = 100 最大能够保持idle状态(空闲状态)的对象数
         * minIdle = 50 最小能够保持idle状态的对象数
         * maxWaitMillis = 10000 当池内没有返回对象时,最大等待时间
         * testOnBorrow = true 当调用borrow Object方法时,是否进行有效性检查
         * testOnReturn = true 当调用return Object时,是否进行有效性检查
         * timeBetweenEvictionRunsMillis = 30000 "空闲链接"检测线程,检测的周期,毫秒数. 如果为负数,表示不运行"检测线程". 默认为-1 
         * testWhileIdel = true 向调用者输出"链接"对象时,是否检测它的空闲超时
         * numTestsPerEvictionRun = 50 对于"空闲链接"检测线程而言,每次检测的链接资源的个数. 默认为3
         * ip = 127.0.0.1 redis服务器的ip
         * port = 6379 redis服务器的port
         */
    
  • 代码
    @Test
    public void test6() {
        // 1. 创建配置对象
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(50); // 最大允许的连接数
        config.setMaxIdle(10); // 最大的空闲连接
        // 2. 创建Jedis连接池对象
        JedisPool jedisPool = new JedisPool(config,"localhost",6379);
        // JedisPool jedisPool = new JedisPool(); // 也可以不手动配置,因为jedisPool有默认的配置 (如果使用redisPool默认的配置,第一步创建配置对象就可以省略) 
        // 3. 获取连接
        Jedis jedis = jedisPool.getResource();
        // 4. 使用
        jedis.setex("username",60,"juln");
        // 5. 关闭, 归还连接池之前分配的资源
        jedis.close();
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值