zoukankan      html  css  js  c++  java
  • Java 学习笔记 五 -- Jedis

    一、安装 非关系型数据库--redis,Java导入Jedis

    Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,

    目前为止Redis支持的键值数据类型如下:

      字符串类型、散列类型、列表类型、集合类型、有序集合类型

    二、Java对象的序列化与反序列

      (一)安装jar

      (二)图解

      (三)测试代码

    @Test
    public void test01() {
        User user = new User();
        user.setUsername("admin");
        user.setPassword("123456");
        
        Order order1 = new Order("订单1号");
        Order order2 = new Order("订单2号");
        List<Order> list = new ArrayList<>();
        list.add(order1);
        list.add(order2);
        user.setList(list);
    
        System.out.println(JSON.toJSONString(user));
    }
        
    @Test
    public void test02() {
        String jsonstr 
        = "{"list":[{"orderName":"订单1号"},{"orderName":"订单2号"}],"password":"123456","username":"admin"}";
        User user = JSON.parseObject(jsonstr, User.class);
        System.out.println(user.getUsername());
        System.out.println(user.getPassword());
        
        List<Order> list = user.getList();
        for(Order order : list) {
            System.out.println(order.getOrderName());
        }
    }

    三、Jedis 的学习

    public class RedisDemo {
        @Test
        public void test01() {
            // 1.连接redis数据库
            Jedis jedis = new Jedis("127.0.0.1",6379);
            jedis.set("k1","Hello Redis!!!");
            // 2.获取数据(通过键获取值)
            System.out.println(jedis.get("k1"));
            // 3.创建数据(键值对)
            jedis.hset("order:100", "item:1","订单明细一");
            jedis.hset("order:100", "item:2","订单明细二");
            // 4.关闭redis数据库
            jedis.close();
        }
        
        @Test 
        public void test02() {
            // 1.创建 Jedis连接
            Jedis jedis = new Jedis("127.0.0.1",6379);
            // 2.获取数据
    //        String detail = jedis.hget("order:100", "item:2");
    //        System.out.println(detail);
            Map<String,String> map = jedis.hgetAll("order:100");
            Set<String> set = map.keySet();
            for(String key : set) {
                System.out.println(key + "-->" + map.get(key));
            }
            jedis.close();
        }
        
        @Test
        public void test03() {
            Map<String, String> map = new HashMap<>();
            map.put("k1", "Hello");
            map.put("k2","World");
            map.put("k3","Spring");
            map.put("k1","中国");
    //        System.out.println(map.get("k1"));
    //        System.out.println(map.get("k2"));
    //        System.out.println(map.get("k3"));
    //        System.out.println(map.get("k4"));
            
            // 获取到所有的键(key)集合
    //        Set<String> set = map.keySet();
    //        for(String key : set) {
    //            System.out.println(key + "->" + map.get(key));
    //        }
            // 获取所有键值对(key->value)集合
            Set<Map.Entry<String, String>> set = map.entrySet();
            for(Map.Entry<String, String> entry : set) {
                System.out.println(entry.getKey() + "->" + entry.getValue());
            }
        }
    }
  • 相关阅读:
    Oracle 按一行里某个字段里的值分割成多行进行展示
    Property or method "openPageOffice" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by
    SpringBoot 项目启动 Failed to convert value of type 'java.lang.String' to required type 'cn.com.goldenwater.dcproj.dao.TacPageOfficePblmListDao';
    Maven 设置阿里镜像
    JS 日期格式化,留作参考
    JS 过滤数组里对象的某个属性
    原生JS实现简单富文本编辑器2
    Chrome控制台使用详解
    android权限(permission)大全
    不借助第三方网站四步实现手机网站转安卓APP
  • 原文地址:https://www.cnblogs.com/AardWolf/p/10955820.html
Copyright © 2011-2022 走看看