Redis缓存数据库在Java中的基本用法

redis是一种非关系型数据库(NoSQL),内存数据库


Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

下面我们再代码中简单写一下它们的基本用法

1.string类型的用法

public static void testString(){
        //获得资源
        Jedis jedis = new Jedis("localhost",6379);//默认端口号6379
        System.out.println("运行:"+jedis.ping());
        //清空
        jedis.del("name");
        //赋值
        jedis.set("name","luck");
        //取值
        String name=jedis.get("name");
        System.out.println(name);
        jedis.del("name");//删除
    }

结果:
运行:PONG
luck

2.hash类型的用法

public static void testHash() {
        //获得资源
        Jedis jedis = new Jedis("localhost",6379);
        System.out.println("运行:"+jedis.ping());
        jedis.del("info");
        Map<String,String> map=new HashMap<String, String>();
        map.put("A","好");
        map.put("B","中");
        map.put("C","差");
        //map添加到redis中
        jedis.hmset("info",map);
        System.out.println(jedis.hmget("info","A","B","C"));
        // 返回key=info的值的个数
        System.out.println("个数:"+jedis.hlen("info"));
        // 判断是否存在key=info的对象
        System.out.println(jedis.exists("info是否存在:"+"info"));
        // 返回map对象中的所有key值
        System.out.println("keys:"+jedis.hkeys("info"));
        // 返回map对象中的所有value值
        System.out.println(jedis.hvals("info"));
        // 循环迭代key
        Iterator<String> iterator=jedis.hkeys("info").iterator();
        while(iterator.hasNext()){
            String key=iterator.next();
            System.out.println(key+"=>"+jedis.hmget("info",key));

        }
        //删除数据
        jedis.del("info");
        System.out.println(jedis.exists("info"));
        // 关闭资源
        jedis.close();
    }


结果:
运行:PONG
[好, 中, 差]
个数:3
false
keys:[A, B, C]
[中, 好, 差]
A=>[好]
B=>[中]
C=>[差]
false

3.list类型的用法

public static void tsetList(){
        //获得资源
        Jedis jedis = new Jedis("localhost",6379);
        System.out.println("运行:"+jedis.ping());
        jedis.del("baidu");
        // Redis Lpush 命令将一个或多个值插入到列表头部。
        // 如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作。
        // 当 key 存在但不是列表类型时,返回一个错误。
        jedis.lpush("baidu","www.baidu.com");
        jedis.lpush("baidu","李彦宏");
        jedis.lpush("baidu","China");
        //Redis Lrange 返回列表中指定区间内的元素,区间以偏移量 START 和 END 指定。
        // 其中 0 表示列表的第一个元素,1 表示列表的第二个元素,以此类推。
        // 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。
        System.out.println(jedis.lrange("baidu",0,2));
        jedis.lpush("baidu","搜索引擎","无人驾驶");
        System.out.println(jedis.lrange("baidu",0,4));
        //列表中下标为指定索引值的元素。 如果指定索引值不在列表的区间范围内,返回 null 。
        System.out.println(jedis.lindex("baidu",3));
        // 关闭资源
        jedis.close();
    }

结果:
运行:PONG
[China, 李彦宏, www.baidu.com]
[无人驾驶, 搜索引擎, China, 李彦宏, www.baidu.com]
李彦宏

4.set类型的用法

public static void testSet() {
        //获得资源
        Jedis jedis = new Jedis("localhost",6379);
        System.out.println("运行:"+jedis.ping());
        jedis.del("animals");
        //存放数据
        jedis.sadd("animals","大脑斧","长颈鹿","大熊猫");
        // 查看
        jedis.smembers("animals");
        System.out.println(jedis.smembers("animals"));
        // 删除元素
        jedis.srem("animals","长颈鹿");
        System.out.println(jedis.smembers("animals"));
        // 判断值是否存在
        jedis.sismember("animals","长颈鹿");
        System.out.println(jedis.sismember("animals","长颈鹿"));
        //返回集合的个数
        jedis.scard("animals");
        System.out.println(jedis.scard("animals"));
        // 返回随机元素
        System.out.println("返回随机元素:"+jedis.srandmember("animals"));
        // 关闭资源
        jedis.close();
    }

结果:
运行:PONG
[大熊猫, 长颈鹿, 大脑斧]
[大熊猫, 大脑斧]
false
2
返回随机元素:大熊猫

5.sorted set类型的用法

public static void testSort() {//sorted有序集合
        //获得资源
        Jedis jedis = new Jedis("localhost",6379);
        System.out.println("运行:"+jedis.ping());
        //清空
        jedis.del("sort");
        // 添加元素
        jedis.rpush("sort", "1");
        jedis.rpush("sort","55","66");
        jedis.lpush("sort", "12");
        jedis.lpush("sort", "30");
        System.out.println(jedis.lrange("sort",0,4));
        // 排序
        System.out.println("排序:" + jedis.sort("sort"));
        // 关闭资源
        jedis.close();
    }

结果:
运行:PONG
[30, 12, 1, 55, 66]
排序:[1, 12, 30, 55, 66]

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值