Jedis是redis的java客户端。我们可以在java编程中使用它来编写java代码访问Redis服务。
在编写代码之前,需要从
http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22redis.clients%22%20AND%20a%3A%22jedis%22
和
http://search.maven.org/#artifactdetails%7Corg.apache.commons%7Ccommons-pool2%7C2.0%7Cjar
下载最新版本的jedis和commons-pool2的jar包,这里下载的是jedis-2.8.0.jar和commons-pool2-2.0.jar。
如果需要查看源码,需要把jedis-2.8.0-sources.jar和commons-pool2-2.0-sources.jar也一并下载下来。
一、Jedis单连接示例
建立一个JedisTest工程,把上面下载的四个包添加进工程,如下图所示
建立JedisTest.java文件,代码如下
import redis.clients.jedis.Jedis;
public class JedisTest {
public static void main(String[] args) {
try {
String host = "127.0.0.1";//控制台显示访问地址
int port = 6379;
Jedis jedis = new Jedis(host, port);
//鉴权信息由用户名:密码拼接而成
jedis.auth("123456");//instance_id:password
String key = "ping";
String value = "pong";
//select db默认为0
jedis.select(1);
//set一个key
jedis.set(key, value);
System.out.println("Set Key: " + key + ", Value: " + value);
//get 设置进去的key
String getvalue = jedis.get(key);
System.out.println("Get Key: " + key + ", ReturnValue: " + getvalue);
jedis.quit();
jedis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
运行结果:
Set Key: ping, Value: pong
Get Key: ping, ReturnValue: pong
二、JedisPool连接池示例
将上个例子中main函数的实现代码改为:
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.util.Set;
public class JedisTest {
public static void main(String[] args) {
JedisPoolConfig config = new JedisPoolConfig();
//最大空闲连接数, 应用自己评估,不要超过AliCloudDB for Redis每个实例最大的连接数
config.setMaxIdle(200);
//最大连接数, 应用自己评估,不要超过AliCloudDB for Redis每个实例最大的连接数
config.setMaxTotal(300);
config.setTestOnBorrow(false);
config.setTestOnReturn(false);
String host = "127.0.0.1";
String password = "123456";
JedisPool pool = new JedisPool(config, host, 6379, 3000, password);
Jedis jedis = null;
for(int i = 0; i < 5; i++) {
try {
jedis = pool.getResource();
jedis.set("foo", "bar");
String foobar = jedis.get("foo");
System.out.println(foobar);
jedis.zadd("name", 0, "Zhang San");
jedis.zadd("name", 0, "Li Si");
Set sose = jedis.zrange("name", 0, -1);
System.out.println(sose);
} finally {
if (jedis != null) {
jedis.close();
}
}
}
pool.close();
}
}
运行结果:
bar
[Li Si, Zhang San]
bar
[Li Si, Zhang San]
bar
[Li Si, Zhang San]
bar
[Li Si, Zhang San]
bar
[Li Si, Zhang San]
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29485627/viewspace-1975279/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29485627/viewspace-1975279/