Java操作Redis

database

一、 使用Java操作Redis前,请先运行Redis服务与下载Redis驱动,以maven工程为例,引入如下jar 

<dependency>

<groupId>redis.clients</groupId>

<artifactId>jedis</artifactId>

<version>2.9.0</version>

</dependency>

 创建测试类,验证是否成功连接

public static void main(String[] args) {

//设置IP与端口,连接 Redis 服务

Jedis jedis = new Jedis("127.0.0.1",6379);

//设置 密码

jedis.auth("1D9JJ9JIJ0003E4710AC0000596F1A72");

//查看服务是否运行,打出pong表示OK

System.out.println("connection is OK==========>: "+jedis.ping());

String name = jedis.get("admin");

System.out.println("姓名:" + name);

String noticeVal = jedis.hget("notice", "admin");

System.out.println("通知结果:" + noticeVal);

}

 执行成功,结果如下

connection is OK==========>: PONG

姓名:null

通知结果:0

 

二、连接池管理Redis连接,引入redis.properties配置文件

# Redis settings

# 最大闲置数

redis.maxIdle=30

# 最小闲置数

redis.minIdle=10

# 最大连接数

redis.maxTotal=100

# redis服务器的IP地址

redis.url=127.0.0.1

# redis端口

redis.port=6379

# redis密码

redis.password=1D9JJ9JIJ0003E4710AC0000596F1A72

# 超时时间

redis.timeout=2000

  编写工具类RedisUtil  

package com.util;

import java.io.IOException;

import java.io.InputStream;

import java.util.Properties;

import org.apache.commons.logging.Log;

import org.apache.commons.logging.LogFactory;

import redis.clients.jedis.Jedis;

import redis.clients.jedis.JedisPool;

import redis.clients.jedis.JedisPoolConfig;

/**

* RedisUtil工具类

*

* @author Administrator

*

*/

public final class RedisUtil {

private static final Log logger = LogFactory.getLog(RedisUtil.class);

private static JedisPool jedisPool = null;

/**

* 初始化Redis连接池

*/

static {

try {

// 加载配置文件

InputStream in = RedisUtil.class.getClassLoader().getResourceAsStream("redis.properties");

Properties pro = new Properties();

try {

pro.load(in);

} catch (IOException e) {

e.printStackTrace();

}

// 获得池子对象

JedisPoolConfig poolConfig = new JedisPoolConfig();

poolConfig.setMaxIdle(Integer.parseInt(pro.get("redis.maxIdle")

.toString()));// 最大闲置个数

poolConfig.setMinIdle(Integer.parseInt(pro.get("redis.minIdle")

.toString()));// 最小闲置个数

poolConfig.setMaxTotal(Integer.parseInt(pro.get("redis.maxTotal")

.toString()));// 最大连接数

jedisPool = new JedisPool(poolConfig, pro.getProperty("redis.url"),

Integer.parseInt(pro.getProperty("redis.port")),

Integer.parseInt(pro.getProperty("redis.timeout")),

pro.getProperty("redis.password"));

} catch (Exception e) {

logger.error("异常错误", e);

}

}

/**

* 获取Jedis实例

*

* @return

*/

public synchronized static Jedis getJedis() {

try {

if (jedisPool != null) {

Jedis resource = jedisPool.getResource();

return resource;

} else {

return null;

}

} catch (Exception e) {

e.printStackTrace();

return null;

}

}

/**

* 释放jedis资源

*

* @param jedis

*/

public static void returnResource(final Jedis jedis) {

if (jedis != null) {

jedis.close();

}

}

}

 测试

public static void main(String[] args) {

Jedis jedis = RedisUtil.getJedis();

String result = jedis.set("admin", "管理员");

System.out.println("结果:" + result);

//释放资源

RedisUtil.returnResource(jedis);

}

结果:OK

 

   使用RedisDesktopManager可视化工具查看

 

  其他数据类型如hash(哈希)、list(列表)、set(集合)及zset(有序集合)的增删改查操作和redis原生指令大同小异,抽取为通用工具类。

以上是 Java操作Redis 的全部内容, 来源链接: utcz.com/z/532272.html

回到顶部