通过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的数目
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • ideaVim 设置[通俗易懂]

    ideaVim 设置[通俗易懂]1、打开如图所示的文件夹:C:\Users\你的用户名\2、创建_ideavimrc文件3、文件内添加以下代码:letmapSpace=”sethlsearchsetincsearchsetignorecasesetsmartcasesetshowmodesetnumbersetrelativenumbersetscrollof…

  • python缩进错误提示(python缩进讲解)

    参考链接:Python语句,缩进和注释广告关闭腾讯云11.11云上盛惠,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元!学习python与其他语言最大的区别就是,python的代码块不使用大括号{}来控制类,函数以及其他逻辑判断。python最具特色的就是用缩进来写模块。缩进…有时候,你觉得两行代码的缩进是一样的,但编译器仍然报错。这可能是因为一个地方使用空格来缩进,而另一个地方使用了tab键来缩进。碰到这种情况要统一…..

  • EasyDSS流媒体服务器软件-正式环境安装部署攻略

    EasyDSS流媒体服务器软件-正式环境安装部署攻略EasyDSS流媒体服务器软件,提供一站式的转码、点播、直播、时移回放服务,极大地简化了开发和集成的工作。其中,点播功能主要包含:上传、转码、分发。直播功能主要包含:直播、录像,直播支持RTMP输入,RTMP/HLS/HTTP-FLV的分发输出;录像支持自定义保存时长、检索及下载。提供丰富的二次开发接口,基于JSON的封装及HTTP调用。提供播放鉴权、推流鉴权等安全保证。提供用户及相关权限管理…

  • 关于SetCapture() 和 ReleaseCapture()的使用方法

    关于SetCapture() 和 ReleaseCapture()的使用方法  查MSND,对SetCapture()函数的说明为:“该函数在属于当前线程的指定窗体里设置鼠标捕获。一旦窗体捕获了鼠标,全部鼠标输入都针对该窗体,不管光标是否在窗体的边界内。同一时刻仅仅能有一个窗体捕获鼠标。假设鼠标光标在还有一个线程创建的窗体上,仅仅有当鼠标键按下时系统才将鼠标输入指向指定的窗体。”一開始我看这个解释误觉得了仅仅要在属于窗体里的一个线程调用了SetCapture(hWn…

  • 日期不能交叉的检测算法

    日期不能交叉的检测算法

  • lucene通过tokenstream显示分词信息「建议收藏」

    lucene通过tokenstream显示分词信息「建议收藏」publicclassAnalyzerUtil{ publicstaticvoidmain(String[]args){ StandardAnalyzersa=newStandardAnalyzer(Version.LUCENE_45); Stringstr=”Iamcomefromjiangxifengchengtongtian.thisi

发表回复

您的电子邮箱地址不会被公开。

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