在 Java 中,可以建议的使用 Redis , 或者通过Spirng的 RedisTemplate 使用 Redis。


Jedis项目地址:https://github.com/redis/jedis

Jedis 仓库地址 :https://mvnrepository.com/artifact/redis.clients/jedis

Jedis API文档:http://redis.github.io/jedis/

在 Java 程序中使用 Redis

在 Java 中使用 Redis 工具,要先下载 jedis.jar 包,把它加载到工程的路径中,所有先打开 maven仓库官网: https://mvnrepository.com/

或直接访问 jedis 仓库地址 :https://mvnrepository.com/artifact/redis.clients/jedis

1、浏览器打开百度首页,所有 maven仓库 , 找到 maven仓库主网站。

android开发 连redis redis java api_连接池

android开发 连redis redis java api_android开发 连redis_02

2、maven仓库官网搜索 jedis 关键字 , 找到相关的内容。

(注意搜索关键字结果列表:jedis是java连接redis服务器的客户端工具,结果是含有 redis.clients 字眼的才是对的)

android开发 连redis redis java api_System_03

android开发 连redis redis java api_System_04

android开发 连redis redis java api_android开发 连redis_05

3、下载安装 jedis 工具(jar包)

从上图可以看到,页面中有很多版本供我们选择,这里选择最新版(3.5.1)。

android开发 连redis redis java api_redis_06

点击版本号(3.5.1)即可进入下载页面:

android开发 连redis redis java api_System_07

如果项目中是使用 maven进行构建的,默认打开就是 maven坐标,直接拷贝到你项目中 pom.xml 中即可。

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

后面还有其他的 安装方式,例如: Gradle工具 构建。

// https://mvnrepository.com/artifact/redis.clients/jedis
compile group: 'redis.clients', name: 'jedis', version: '3.5.1'

如果使用最原始的方式下载jar , 直接找到表格中 Files项中,点击 jar 连接即可直接下载 jar 文件。

https://repo1.maven.org/maven2/redis/clients/jedis/3.5.1/jedis-3.5.1.jar

android开发 连redis redis java api_redis_08

4、学习 jedis

在 Jedis 下载页面,表格项中找到 HomePage , 可以更加详细的了解 Jedis。

https://github.com/redis/jedis

android开发 连redis redis java api_System_09

android开发 连redis redis java api_android开发 连redis_10

 

5、使用 jedis

使用 eclipse 开发工具,新建工程 JedisDemo 并导入jedis jar包。

新建测试类 JedisTest.java

android开发 连redis redis java api_System_11

编写测试类:实现简单的增删改查功能。

import redis.clients.jedis.Jedis;

public class JedisTest {
	
	public static void main(String[] args) {
		Jedis jedis = null;
		try {
			//连接redis
			System.out.println("--------------- 连接redis  -------------------");
			jedis = new Jedis("localhost", 6379);
			jedis.auth("123456");//如果需要密码访问redis服务器,则需要这个设置。
			System.out.println("jedis connection: " + jedis);
			System.out.println("----------------------------------");
			
			//添加数据
			System.out.println("--------------- 添加数据 -------------------");
			jedis.set("key0204", "jedis test");
			System.out.println("set key : key0204");
			System.out.println("----------------------------------");
			
			//查询数据
			System.out.println("--------------- 查询数据 -------------------");
			String value = jedis.get("key0204");
			System.out.println("get key : " + value);
			System.out.println("----------------------------------");
			
			
			//修改数据
			System.out.println("--------------- 修改数据 -------------------");
			jedis.set("key0204", "jedis test has reset");
			System.out.println("reset key : key0204");
			String newValue = jedis.get("key0204");
			System.out.println("get key : value = " + newValue);
			System.out.println("----------------------------------");
			
			
			//删除数据
			System.out.println("--------------- 删除数据 -------------------");
			long result = jedis.del("key0204");
			System.out.println("del key(key0204) : " + result);
			System.out.println("----------------------------------");
			
			//key是否存在
			System.out.println("--------------- key是否存在 -------------------");
			boolean existKey = jedis.exists("hello");
			System.out.println("exists key(hello) : " + existKey);
			System.out.println("----------------------------------");
		}
		catch(Exception e){
			
			e.printStackTrace();
		}finally{
			//关闭连接
			if (null != jedis){
				jedis.close();
			}
		}
		
	}
}

测试结果。

android开发 连redis redis java api_System_12

Redis API 参考

android开发 连redis redis java api_System_13

android开发 连redis redis java api_android开发 连redis_14

android开发 连redis redis java api_redis_15

android开发 连redis redis java api_System_16

android开发 连redis redis java api_android开发 连redis_17

android开发 连redis redis java api_android开发 连redis_18

更多内容参考:

Jedis API文档:http://redis.github.io/jedis/

6、使用连接池管理 redis

Java Redis的连接池提供了类 redis.clients.jedis.JedisPool 用来创建 Redis 连接池对象。

使用这个对象需要使用类 redis.clients.jedis.JedisPoolConfig 对连接池进行配置。

使用连接池需要用到下面几个 jar ,  commons-pool2 、slf4j 日志组件(redis连接池依赖),否则无法正常运行。

android开发 连redis redis java api_android开发 连redis_19

android开发 连redis redis java api_redis_20

编写连接池测试类:使用连接池获取连接,实现简单的增删改查功能:

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

public class JedisPoolTest {

	private static JedisPoolConfig poolCfg = new JedisPoolConfig();
	private static JedisPool pool = null;
	static {
		//设置最大空闲数
		poolCfg.setMaxIdle(50);
		//最大连接数
		poolCfg.setMaxTotal(100);
		//最大等待毫秒数
		poolCfg.setMaxWaitMillis(20000);
		//使用配置创建连接池
		pool = new JedisPool( poolCfg , "localhost");
	}
	
	public static void main(String[] args) {
		
		Jedis jedis = null;
		try {
			//连接redis
			System.out.println("--------------- 连接redis , 连接池方式  -------------------");
			//从连接池中获取单个连接
			jedis = pool.getResource();
			//如果需要密码访问redis服务器,则需要这个设置。
			jedis.auth("123456");
			System.out.println("jedis connection: " + jedis);
			System.out.println("----------------------------------");
			
			//添加数据
			System.out.println("--------------- 添加数据 -------------------");
			jedis.set("key0204", "jedis test");
			System.out.println("set key : key0204");
			System.out.println("----------------------------------");
			
			//查询数据
			System.out.println("--------------- 查询数据 -------------------");
			String value = jedis.get("key0204");
			System.out.println("get key : " + value);
			System.out.println("----------------------------------");
			
			
			//修改数据
			System.out.println("--------------- 修改数据 -------------------");
			jedis.set("key0204", "jedis test has reset");
			System.out.println("reset key : key0204");
			String newValue = jedis.get("key0204");
			System.out.println("get key : value = " + newValue);
			System.out.println("----------------------------------");
			
			
			//删除数据
			System.out.println("--------------- 删除数据 -------------------");
			long result = jedis.del("key0204");
			System.out.println("del key(key0204) : " + result);
			System.out.println("----------------------------------");
			
			//key是否存在
			System.out.println("--------------- key是否存在 -------------------");
			boolean existKey = jedis.exists("hello");
			System.out.println("exists key(hello) : " + existKey);
			System.out.println("----------------------------------");
		}
		catch(Exception e){
			
			e.printStackTrace();
		}finally{
			//关闭连接
			if (null != jedis){
				jedis.close();
			}
		}
		
	}
	
	
	
}

测试结果:

android开发 连redis redis java api_redis_21

 


其他参考资料:

Jedis的API

Jedis常用API整理-详细