jedis入门学习

redis的使用:

1)redis相比mysql,速度比较快,用户体验好。

2)不经常变化的数据,可以使用redis存储,比如公司介绍等。

3)在mysql中操作后,存储到数据库中;下次在获取数据的时候,先从redis中查询,如果有就直接获取,如果没有在查询数据库。

4)过期时间设置:过期后,就会删除此条数据;然后数据只能从mysql中查询。

redis配置文件:redis.conf dump.rdb

ShardedJedis:Redis集群客户端对象

jedis实战

//redis连接池工具类
public class JedisPoolUtil {
	private static JedisPool pool;//jedis连接池
    
    

	private static void initPool(){
        JedisPoolConfig config = new JedisPoolConfig();

        config.setMaxTotal(20);//最大连接数
        config.setMaxIdle(10);//最大空闲
        config.setMinIdle(2);//最小空闲数

        config.setTestOnBorrow(true);//校验并获取可用连接
        config.setTestOnReturn(true);//校验并返回可用连接

        config.setBlockWhenExhausted(true);//连接耗尽的时候,是否阻塞,false会抛出异常,true阻塞直到超时。默认为true。

        pool = new JedisPool(config,127.0.0.1,6379,1000*2);//本地rides
    }

    static{
        initPool();//静态初始化jedispool
      
    }
    public static void main(String args[]){
    	JedisPoolUtil util = new JedisPoolUtil();
    }
    public static Jedis getJedis(){//获取jedis连接
        return pool.getResource();
    }


    public static void returnBrokenResource(Jedis jedis){//失败的操作
        pool.returnBrokenResource(jedis);
    }



    public static void returnResource(Jedis jedis){//返回连接
        pool.returnResource(jedis);
    }

}

封装的jedis操作工具类

public class JedisUtil {
	 
    public static Long expire(String key,int exTime){//设置key的有效期,
        Jedis jedis = null;							//exTime为秒
        Long result = null;
        try {
            jedis = JedisPoolUtil.getJedis();
            result = jedis.expire(key,exTime);
        } catch (Exception e) {
          
            JedisPoolUtil.returnBrokenResource(jedis);//出现异常返回连接
            return result;
        }
        JedisPoolUtil.returnResource(jedis);
        return result;
    }

    //exTime的单位是秒
    //同上直接设置key 的有效期
    public static String setEx(String key,String value,int exTime){
        Jedis jedis = null;
        String result = null;
        try {
            jedis = JedisPoolUtil.getJedis();
            result = jedis.setex(key,exTime,value);
        } catch (Exception e) {
        
            JedisPoolUtil.returnBrokenResource(jedis);
            return result;
        }
        JedisPoolUtil.returnResource(jedis);
        return result;
    }

    public static String set(String key,String value){//添加key-value
        Jedis jedis = null;
        String result = null;

        try {
            jedis = JedisPoolUtil.getJedis();
            result = jedis.set(key,value);
        } catch (Exception e) {
           
            JedisPoolUtil.returnBrokenResource(jedis);
            return result;
        }
        JedisPoolUtil.returnResource(jedis);
        return result;
    }

    public static String get(String key){//通过key获取value
        Jedis jedis = null;
        String result = null;
        try {
            jedis = JedisPoolUtil.getJedis();
            result = jedis.get(key);
        } catch (Exception e) {
            
            JedisPoolUtil.returnBrokenResource(jedis);
            return result;
        }
        JedisPoolUtil.returnResource(jedis);
        return result;
    }

    public static Long del(String key){//删除key
        Jedis jedis = null;
        Long result = null;
        try {
            jedis = JedisPoolUtil.getJedis();
            result = jedis.del(key);
        } catch (Exception e) {
            
            JedisPoolUtil.returnBrokenResource(jedis);
            return result;
        }
        JedisPoolUtil.returnResource(jedis);
        return result;
    }

    public static void main(String[] args) {//测试
        Jedis jedis = JedisPoolUtil.getJedis();

        JedisUtil.set("username","hhbGeek");
        String value = JedisUtil.get("username")
        System.out.println(value);

        System.out.println("end");
	//结果
	//hhbGeek
	//hash list等数据结构暂未封装;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值