Java 学习笔记 五 -- Redis

一、安装 非关系型数据库--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());
        }
    }
}

 

posted @ 2019-05-31 16:13  MoonTwilight  阅读(238)  评论(0编辑  收藏  举报