Redis3.0.5 64位的下载地址:https://chocolatey.org/api/v2/package/redis-64/3.0.503
下载的是一个*.unpkg文件,将后缀修改为zip(或者选择打开方式)。解压后如下图
因为解压的文件太乱了,我们提取主要的文件重新建立一个文件夹
接下来在系统的环境变量(path)中添加之前新建文件夹的路径,便于控制台的快速启动
接下来便是测试:
打开两个不同控制台窗口,
在第一个中输入redis-server:启动redis的服务器端;
在第二个窗口中输入redis-cli:打开客户端;
在启动redis服务端后,在客户端进行测试:输入set foo bar 然后回车执行,显示ok(执行成功),再输入get foo 便可以看到"bar"
在java中调用redis要用到jedis
以下是Demo
JedisPool连接池
import org.apache.log4j.Logger;
import redis.clients.jedis.*;
import redis.clients.jedis.exceptions.JedisConnectionException;
/**
* Created by zhangyuxin on 2016/8/16.
* Function
*/
public class RedisClient {
private static Logger log = Logger.getLogger(RedisClient.class);
private static JedisPool jedisPool;//连接池
public static JedisPool getPool(){
if (jedisPool == null) {
JedisPoolConfig config = new JedisPoolConfig();
//实例数量;赋值为-1,表示不限制;
config.setMaxTotal(500);
//控制一个pool最多有多少个状态空闲的jedis实例
config.setMaxIdle(5);
//最大等待时间,超出则抛出异常;10s
config.setMaxWaitMillis(10 * 1000);
//在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的;
config.setTestOnBorrow(true);
jedisPool = new JedisPool(config, "localhost", 6379);
}
return jedisPool;
}
public static Jedis getJedis() {
Jedis jedis = null;
try {
jedis = getPool().getResource();
} catch (Exception e) {
log.debug("JedisPool连接出现异常\n"+ e.toString());
}
return jedis;
}
public static String get(String key) {
Jedis jedis = getJedis();
String value = null;
if (jedis != null) {
value = jedis.get(key);
jedis.close();
}
return value;
}
}
测试代码:
/**
* Created by zhangyuxin on 2016/8/17.
* Function
*/
public class JedisTest {
public static void main(String agrs[]) {
RedisClient.getJedis().set("zhang", "bobo");
System.out.println(RedisClient.get("zhang"));
//setex() 可以设置缓存时间,详细的东西看源码
RedisClient.getJedis().setex("zhang", 5, "bill");//设置5s的缓存
System.out.println(RedisClient.get("zhang"));
new Thread(){
@Override
public void run() {
try {
sleep(6 * 1000);
System.out.println(RedisClient.get("zhang"));//6s后查看
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
}