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();
            }
        }

    }
}

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

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

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

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

(0)


相关推荐

发表回复

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

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