通过Jedis操作Redis[通俗易懂]

通过Jedis操作Redis[通俗易懂]jedis是redis的java版本的客户端实现,Jedis提供了完整Redis命令。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

jedis是redis的java版本的客户端实现,Jedis提供了完整Redis命令。

目录

maven依赖

测试是否连接redis

Jedis操作String

输出结果

Jedis操作List

输出结果

Jedis操作Map

输出结果

Jedis操作Set

输出结果

Jedis操作Zset

输出结果

Jedis事务操作


maven依赖

<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
    <dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <version>3.7.0</version>
    </dependency>

测试是否连接redis

Jedis jedis = new Jedis("127.0.0.1",6379);
System.out.println(jedis.ping());

输出结果为PONG,则说明连接成功,否则连接失败,控制台会有异常信息。

Jedis操作String

        jedis.set("user", "zhangsan");
        // 获取存储的数据并输出
        System.out.println("redis 存储的字符串为: "+ jedis.get("user"));
        jedis.del("user");//删除
        System.out.println("redis 存储的字符串为: "+ jedis.get("user"));

输出结果

redis 存储的字符串为: zhangsan
redis 存储的字符串为: null

Jedis操作List

        //存储数据到列表中
        jedis.lpush("name-list", "zhangsan");
        jedis.lpush("name-list", "lisi");
        jedis.lpush("name-list", "wangwu");
        // 获取存储的数据并输出
        List<String> list = jedis.lrange("name-list", 0 ,2);
        for(int i=0; i<list.size(); i++) {
            System.out.println("列表项为: "+list.get(i));
        }

输出结果

列表项为: wangwu
列表项为: lisi
列表项为: zhangsan

Jedis操作Map

        Map<String,String> map=new HashMap<>();
        map.put("username","zhangsan");
        map.put("age","22");
        map.put("sex","男");
        //使用 hmset 设置值
        jedis.hmset("user",map);
        // hmget 获取值 取出user中的name 后面key可以跟多个
        List<String> result=jedis.hmget("user","username","age","sex");
        System.out.println(result);
        jedis.hdel("user","age");//移除某项

输出结果

[zhangsan, 22, 男]

Jedis操作Set

        jedis.sadd("users","zhangsan");
        jedis.sadd("users","lisi");
        System.out.println(jedis.smembers("users"));//获取加入的value值
        System.out.println(jedis.srem("users","zhangsan")); //移除某项

输出结果

[zhangsan, lisi]

Jedis操作Zset

        //存放数据 按score 进行排序
        jedis.zadd("user",12,"lisi");
        jedis.zadd("user",56,"zhangsan");
        jedis.zadd("user",89,"wangwu");
        jedis.zadd("user",58,"zhaoliu");
        System.out.println(jedis.zrange("user",0,4));//获取加入user中的value

输出结果

[lisi, zhangsan, zhaoliu, wangwu]

Jedis事务操作

        Transaction multi = jedis.multi();
        try {
            multi.set("user","zhangsan");
            multi.exec();//执行事务
        }catch (Exception e){
            multi.discard();//放弃事务
            e.printStackTrace();
        }finally {
            jedis.close();//关闭连接
        }

Jedis连接池操作

        //设置连接池的配置对象
        JedisPoolConfig config = new JedisPoolConfig();
        //设置连接池参数
        config.setMaxTotal(30);
        config.setMaxIdle(10);
        //获取连接池对象
        jedisPool = new JedisPool(config, "127.0.0.1", 6379);
        try{
            jedis = jedisPool.getResource();
        }catch(Exception e){
            e.printStackTrace();

        }

Jedis对key的其它操作命令

jedis.flushDB();//清空数据库
jedis.close();//关闭连接
jedis.exists("key");//是否存在名为key的key
Set<String> keys = jedis.keys("*");//获取所有的key
jedis.type("key");查看key的类型
jedis.randomKey();//随机一个键值
jedis.rename("oldkey","newkey");//重命名key
jedis.dbSize();//返回当前数据库所有key的数目
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195818.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 基本粒子群算法小结及算法实例(附Matlab代码)

    基本粒子群算法小结及算法实例(附Matlab代码)1、基本粒子群算法假设在一个D维的目标搜索空间中,有N个粒子组成一个群落,其中第i个粒子表示为一个D维的向量:$$X_i=(x_{i1},x_{i2},\cdots,x_{iD}),\quadi=1,2,\cdots,N\quad\text{(1)}$$第i个粒子的“飞行”速度也是一个D维的向量,记为:$$V_i=(v_{i1},v_{i2},\cdots,v_{iD}),\quadi=1,2,\cdots,N\quad\te…

    2022年5月29日
    33
  • 基于Ubuntu20.04 Linux系统安装 Microsoft Edge浏览器 详细步骤

    基于Ubuntu20.04 Linux系统安装 Microsoft Edge浏览器 详细步骤目录1.MicrosoftEdge注意:最近在学习强度学习,作为刚起步的小白啥也不懂就先安装了最新的Ubuntu20.04,听很多人说这个版本相对之前的版本可以很方便的链接网络,个人感觉还不错。  个人之前一直使用Windows系统,初次接触Linux有不足之处请读者多多包含。在Windows系统的时候使用的浏览器,我还是比较喜欢使用MicrosoftEdge,之前用过一段时间的Chrome的参考资料:基于Linux的MicrosoftEdge浏览器1.Microsoft

    2022年7月21日
    20
  • gzip和gunzip 解压参数「建议收藏」

    gzip和gunzip 解压参数「建议收藏」Linux压缩保留源文件的方法:gzip–cfilename&gt;filename.gzLinux解压缩保留源文件的方法:gunzip–cfilename.gz&gt;filenamegunzip的用法  1.作用gunzip命令作用是解压文件,使用权限是所有用户。2.格式gunzip[-acfhlLnNqrtvV][-s-Linux压缩保留源文件的方法: g…

    2025年8月27日
    6
  • 网页下载文件错误_python安装报错

    网页下载文件错误_python安装报错如图,使用webdriver的过程中出现如下提示,代码正常,下载地址正常,在正常浏览器中也可以成功下载文件但是模拟浏览器却无法成功获取文件;尝试了开发模式启动、禁用或启用js等等,都没有成功,快要放弃chrome准备改选firefox的时候,看到了一个解决方法:此方法只针对一种情况有效:如果你在下载路径前加了r,转义了原始字符串,如下那么,去掉“r”试一下成功了如有问题请留言…

    2025年11月20日
    3
  • java中输出数组元素的方法[通俗易懂]

    java中输出数组元素的方法[通俗易懂]定义一个数组:int[]array=newint{5,2,3,8};方法一:for(inti=0;i<array.length){ System.out.println(array[i]);}方法二:importjava.util.Arrays;System.out.println(Array.toString(array))方法三:…

    2022年10月11日
    2
  • 动态规划0—1背包问题

    动态规划0—1背包问题动态规划0-1背包问题Ø  问题描述:  给定n种物品和一背包。物品i的重量是wi,其价值为vi,背包的容量为C。问应如何选择装入背包的物品,使得装入背包中物品的总价值最大?Ø 对于一种物品,要么装入背包,要么不装。所以对于一种物品的装入状态可以取0和1.我们设物品i的装入状态为xi,xi∈(0,1),此问题称为0-11背包问题。

    2022年7月26日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号