Redis java client - Jedis 实践

1、 依赖导入:

        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.5.1</version>
        </dependency>

2、简单使用Jedis:

    Jedis jedis = new Jedis("server ip",port);
    jedis.auth("redis");//验证密码,如果需要验证的话
    // STRING 操作
    //SET key value将字符串值value关联到key。
    jedis.set("name", "wangjun1");
    jedis.set("id", "123456");
    jedis.set("address", "guangzhou");
    //SETEX key seconds value将值value关联到key,并将key的生存时间设为seconds(以秒为单位)。
    jedis.setex("foo", 5, "haha");
    //MSET key value [key value ...]同时设置一个或多个key-value对。
    jedis.mset("haha","111","xixi","222");
    //redis.flushAll();清空所有的key
    System.out.println(jedis.dbSize());//dbSize是多少个key的个数
    //APPEND key value如果key已经存在并且是一个字符串,APPEND命令将value追加到key原来的值之后。
    jedis.append("foo", "00");//如果key已经存在并且是一个字符串,APPEND命令将value追加到key原来的值之后。
    //GET key 返回key所关联的字符串值
    jedis.get("foo");
    //MGET key [key ...] 返回所有(一个或多个)给定key的值
    List list = jedis.mget("haha","xixi");
    for(int i=0;i<list.size();i++){
        System.out.println(list.get(i));
    }

3. 利用Jedis Pool

Jedis Pool管理若干Jedis对象。

 3.1 RedisUtil.java

public class RedisUtil {
    private static JedisPool jedisPool;
    static{
        ResourceBundle bundle = ResourceBundle.getBundle("redis.properties");
        if (bundle == null) {
            throw new IllegalArgumentException(
                    "[redis.properties] is not found !");
        }
        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
        jedisPoolConfig.setMaxTotal(Integer.valueOf(bundle.getString(ConfigManager.REDIS_POOL_MAX_ALIVE)));
        jedisPoolConfig.setMaxIdle(Integer.valueOf(bundle.getString(ConfigManager.REDIS_POOL_MAX_ALIVE)));
        jedisPoolConfig.setMaxWaitMillis(Integer.valueOf(bundle.getString(ConfigManager.REDIS_POOL_MAX_ALIVE)));

        jedisPool = new JedisPool(jedisPoolConfig,bundle.getString(ConfigManager.REDIS_IP),
                Integer.valueOf(bundle.getString(ConfigManager.REDIS_PORT)));
    }
    public static void addKeyValue(String key ,String value){
        Jedis jedis = jedisPool.getResource();
        try {
            jedis.set(key,value);
            jedisPool.returnResource(jedis);
        }catch (JedisDataException e){
            jedisPool.returnBrokenResource(jedis);
        }
    }
}
3.1 redis.properties

#最大分配的对象数
redis.pool.maxActive=1024
#最大能够保持idel状态的对象数
redis.pool.maxIdle=200
#当池内没有返回对象时,最大等待时间
redis.pool.maxWait=10000
#IP
redis.ip=172.0.0.1
#Port
redis.port=6379

3.2 ConfigManage.java

public class ConfigManager {
    public static final String REDIS_POOL_MAX_ALIVE = "redis.pool.maxAlive";
    public static final String REDIS_POOL_MAX_IDLE = "redis.pool.maxIdle";
    public static final String REDIS_POOL_MAX_WAIT = "redis.pool.maxWait";
    public static final String REDIS_IP = "redis.ip";
    public static final String REDIS_PORT = "redis.port";
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值