1、 使用Java操做Redis前,请先运行Redis服务与下载Redis驱动,以maven工程为例,引入以下jar html
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency>
建立测试类,验证是否成功链接java
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); }
执行成功,结果以下redis
connection is OK==========>: PONG 姓名:null 通知结果:0
2、链接池管理Redis链接,引入redis.properties配置文件apache
# 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(); } } }
测试maven
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原生指令大同小异,抽取为通用工具类。测试