Windos10安装Redis3.0 在java中通过Jedis使用Redis

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();

    }
}



  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值