jedis与redistemplate_第六十二卦详解

jedis与redistemplate_第六十二卦详解文章目录Redis详解(六)Jedis操作Redis1.下载jedis和commons-pool单独使用jedis2.Java应用使用Jedis准备Redis详解(六)Jedis操作Redis使用jedis在java应用中操作Redis。Jedis几乎涵盖了redis的所有命令。jedis源码:https://github.com/redis/jedis1.下载jedis和commons-pool<!–https://mvnrepository.com/artifact/redis.

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

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

Redis详解(六)Jedis操作Redis

使用jedis在java应用中操作Redis。Jedis几乎涵盖了redis的所有命令。

  • jedis源码:https://github.com/redis/jedis

1.下载jedis和commons-pool

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

jedis可以单独使用,一般和Commons-Pool一起使用,有多个线程单独操作redis。

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-pool2 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-pool2</artifactId>
    <version>2.11.1</version>
</dependency>

单独使用jedis

package com.firewolf;

import redis.clients.jedis.Jedis;

import java.util.List;

public class StringRedisPrimary { 
   
    public static void main(String[] args) { 
   
// redis所在的linux的ip
        String host = "127.0.0.1";
// redis的运行端口
        int port = 6379;
// 创建jedis对象,通过jedis的方法,操作redis数据
        Jedis jedis = new Jedis(host,port);
// 设置访问密码
// jedis.auth("123456");

// 通过jedis的方法操作redis数据
        jedis.set("eat","减脂餐");
// 获取数据
        System.out.println("eat="+jedis.get("eat"));
// 创建多个key-value
        jedis.mset("lunch","红烧牛肉面","dinner","左旋溜达鸡");
// 获取多个值
        List<String> values = jedis.mget("eat","lunch","dinner");

        for (String v:values){ 
   
            System.out.println(v);
        }
// 查询id=1 Student,key == student:1
        if(jedis.exists("student:1")){ 
   
            String  student = jedis.get("student:1");
        }else { 
   
// 访问数据库,Student 对象
// 把Student转为json数据
            jedis.set("student:1","{student}");
        }

    }
}

2.Java应用使用Jedis准备

创建一个工具类

package com.firewolf.utils;

import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class RedisUtils { 
   
// JedisPool有一个就够用了
    private static JedisPool pool;
// 创建线程池
    public static JedisPool open(String host,int port){ 
   
        if(pool==null){ 
   
// 设置线程池的参数
            JedisPoolConfig config = new JedisPoolConfig();
// 设置最大线程数量
            config.setMaxTotal(100);
// 设置空闲数
            config.setMaxIdle(2);
// 设置检查项为true,避免null的情况 确保线程池获取的对象是可用的。
            config.setTestOnBorrow(true);
// 创建JedisPool 6000是超时时间:6秒钟没有连接到redis就放弃
            pool = new JedisPool(config,host,port,6000);
// 带密码情况
// pool = new JedisPool(config,host,port,6000,"123456");
        }
        return pool;
    }
  
// 关闭线程池,在整个程序结束后执行
    public static void close(){ 
   
        if(pool!=null){ 
   
            pool.close();
        }
    }
}

使用线程池

package com.firewolf;

import com.firewolf.utils.RedisUtils;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

import java.util.List;

public class StringRedisPrimaryPool { 
   
    public static void main(String[] args) { 
   
        String host = "127.0.0.1";
        int port = 6379;

        Jedis jedis = null;
        JedisPool pool= null;

        try{ 
   
// 获取pool,从pool中获取jedis对象
            pool = RedisUtils.open(host,port);
            jedis = pool.getResource();
            jedis.set("eat","减脂餐");
// 获取数据
            System.out.println("eat="+jedis.get("eat"));
// 查询id=1 Student,key == student:1
            if(jedis.exists("student:1")){ 
   
                String  student = jedis.get("student:1");
            }else { 
   
// 访问数据库,Student 对象
// 把Student转为json数据
                jedis.set("student:1","{student}");
            }

        }finally { 
   
// 把使用完毕的jedis放回到Pool中,让其他客户端使用
            if(jedis!=null){ 
   
                jedis.close();
            }
        }

    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

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


相关推荐

  • 视频编解码学习之二:编解码框架「建议收藏」

    视频编解码学习之二:编解码框架「建议收藏」第四章视频编码基础 1.压缩码流语法:码流中各个元素的位置关系01001001…图像编码类型(01),宏块类型(00),编码系数1001等语义:每个语法元素所表达的意义。例如:图像编码类型 2.

    2022年7月4日
    29
  • thinkcmf,thinksns,thinkphp,onethink三者是什么关系?

    thinkcmf,thinksns,thinkphp,onethink三者是什么关系?

    2021年10月21日
    39
  • java lang nullpointer_java.lang.throwable

    java lang nullpointer_java.lang.throwableIntentintent=registerReceiver(null,newIntentFilter(Intent.ACTION_BATTERY_CHANGED));查询电量的时候可以通过上面这种方式返回一个intent,从这个intent中也确实能够拿到我们想要要的信息,但是平常我们注册普通的广播的时候都习惯传入一个receiver,如果有电量改变就会不停的执行receiver的onR…

    2022年9月11日
    1
  • DLL注入

    DLL注入DLL注入DLL注入原理dll注入实现过程功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入DLL注入原理在Windows操作系统中,运行的每一个进程都生活在自己的程序空间中(保护模式),每一个进程都认为自己拥有整个机器的控制权,

    2022年5月17日
    59
  • endnote x9中文版安装教程_vivo怎么强制安装软件

    endnote x9中文版安装教程_vivo怎么强制安装软件一、下载在百度中搜索“Endnotex9”,点第一个链接进入下载页面。软件大小为108MB,下载的是一个压缩包,如下图所示,双击解压之后是右侧的图标,解压到文件夹,双击即可安装。二、安装直接安装即可,可以更换安装路径备注:安装成功后使用汉化版,可以将CHS文件夹里的[EndNote.exe]拷贝到EndNote的安装目录下。使用英文版,可以将ENG文件夹里的[EndNote.exe]拷贝到EndNote的安装目录下。不论用的是英文版还是中文版,替换之后即可使用…

    2022年10月11日
    0
  • arm服务器测评_ARM:异军突起「建议收藏」

    arm服务器测评_ARM:异军突起「建议收藏」RISC:战火点燃RISC和CISC握手言和,这并非服务器市场竞争结束,而是新一轮战火点燃的信号。双方短暂的和平还因为现在的处理器速度与指令集构架的关系越来越小,指令集构架的影响力早已被CPU微结构,甚至更为贴近底层的设计所超越。而反观服务器市场,在中低档服务器全盘被x86所统治的情况下,高端服务器的竞争形势也很激烈。在高档服务器市场中,Compaq的Alpha、惠普的PA-RISC、MIPS公司…

    2022年8月31日
    1

发表回复

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

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