zoukankan      html  css  js  c++  java
  • redis jedis使用

      jedis就是集成了redis的一些命令操作,封装了redis的java客户端。提供了连接池管理。一般不直接使用jedis,而是在其上再封装一层,作为业务的使用。如果用spring的话,可以看看spring 封装的 redis Spring Data Redis

    连接本地的 Redis 服务和查看服务是否运行:

    // 连接本地的 Redis 服务
    jedis = new Jedis("localhost");
    jedis.auth("123");// 密码
    System.out.println("连接本地的 Redis 服务成功!");
    // 查看服务是否运行
    System.out.println("服务 正在运行: " + jedis.ping());

    Redis Java String(字符串) 实例:

    // 设置 redis 字符串数据
    jedis.set("keytest", "http://www.cnblogs.com/oo0/");
    // 获取存储的数据并输出
    System.out.println("redis存储的字符串keytest是: " + jedis.get("keytest"));

    Redis Java List(列表) 实例 (1):

    // 存储数据到列表中
    jedis.lpush("kecheng", "java");
    jedis.lpush("kecheng", "php");
    jedis.lpush("kecheng", "Mysql");
    // 获取存储的数据并输出
    List<String> list = jedis.lrange("kecheng", 0, 5);
    for (int i = 0; i < list.size(); i++) {
        System.out.println("redis list里面存储的值是:" + list.get(i));
    }

    Redis Java List(列表) 实例 (2):

    // 开始前,先移除所有的内容
    jedis.del("java framework");
    System.out.println(jedis.lrange("java framework", 0, -1));
    // 先向key java framework中存放三条数据
    jedis.lpush("java framework", "spring");
    jedis.lpush("java framework", "struts");
    jedis.lpush("java framework", "hibernate");
    // 再取出所有数据jedis.lrange是按范围取出,
    // 第一个是key,第二个是起始位置,第三个是结束位置,jedis.llen获取长度 -1表示取得所有
    System.out.println(jedis.lrange("java framework", 0, -1));

    Redis Java Map 实例:

    // -----添加数据----------
    Map<String, String> map = new HashMap<String, String>();
    map.put("name", "xinxin");
    map.put("age", "22");
    map.put("qq", "123456");
    jedis.hmset("user", map);
    // 取出user中的name,执行结果:[minxr]-->注意结果是一个泛型的List
    // 第一个参数是存入redis中map对象的key,后面跟的是放入map中的对象的key,后面的key可以跟多个,是可变参数
    List<String> rsmap = jedis.hmget("user", "name", "age", "qq");
    System.out.println(rsmap);
    // 删除map中的某个键值
    jedis.hdel("user", "age");
    System.out.println(jedis.hmget("user", "age")); // 因为删除了,所以返回的是null
    System.out.println(jedis.hlen("user")); // 返回key为user的键中存放的值的个数2
    System.out.println(jedis.exists("user"));// 是否存在key为user的记录 返回true
    System.out.println(jedis.hkeys("user"));// 返回map对象中的所有key
    System.out.println(jedis.hvals("user"));// 返回map对象中的所有value
    Iterator<String> iter = jedis.hkeys("user").iterator();
    while (iter.hasNext()) {
        String key = iter.next();
        System.out.println(key + ":" + jedis.hmget("user", key));
    }

    Redis Java Set 实例:

    // 添加
    jedis.sadd("user1", "liuling");
    jedis.sadd("user1", "xinxin");
    jedis.sadd("user1", "ling");
    jedis.sadd("user1", "zhangxinxin");
    jedis.sadd("user1", "who");
    // 移除noname
    jedis.srem("user1", "who");
    System.out.println(jedis.smembers("user1"));// 获取所有加入的value
    System.out.println(jedis.sismember("user1", "who"));// 判断 who 是否是user集合的元素
    System.out.println(jedis.srandmember("user1"));
    System.out.println(jedis.scard("user1"));// 返回集合的元素个数

    Redis Java Sort实例:

    // jedis 排序
    // 注意,此处的rpush和lpush是List的操作。是一个双向链表(但从表现来看的)
    jedis.del("a");// 先清除数据,再加入数据进行测试
    jedis.rpush("a", "1");
    jedis.lpush("a", "6");
    jedis.lpush("a", "3");
    jedis.lpush("a", "9");
    System.out.println(jedis.lrange("a", 0, -1));// [9, 3, 6, 1]
    System.out.println(jedis.sort("a")); // [1, 3, 6, 9] //输入排序后结果
    System.out.println(jedis.lrange("a", 0, -1));

    参考文章:https://www.cnblogs.com/liuhongfeng/p/5033559.html

  • 相关阅读:
    VSTO程序基本知识
    NPOI根据Excel模板生成原生的Excel文件实例
    编程实现n阶奇数幻方
    深入介绍Word开发
    漫谈算法(五)问题复杂度分析(Problem Complexity and Adversarial Lower Bound)
    我的VSTO之路:序
    MFC如何让编辑框自动换行,垂直滚动条自动下移到底端
    WORD
    MFC中的列表控件CListCtrl
    实验 1:Mininet 源码安装和可视化拓扑工具
  • 原文地址:https://www.cnblogs.com/ooo0/p/9850797.html
Copyright © 2011-2022 走看看