Redis-简单使用Jedis

使用java代码操作Redis的方式有两种:

  • Jedis
  • springdataRedis

jedis就是集成了redis的一些命令操作,封装了redis的java客户端。提供了连接池管理。一般不直接使用jedis,而是在其上在封装一层,作为业务的使用。如果用spring的话,可以看看spring 封装的 redis Spring Data Redis

简单使用:

1、新建java工程,导入jar包
在这里插入图片描述
2-1、简单编码测试使用

public class Demo {

    public static void main(String[] args) {

        Jedis jedis = new Jedis();
        //默认情况下数据都存入第一个数据库,把数据存入索引为1的数据库
        jedis.select(1);
        jedis.set("name","laozi");
        jedis.close();

        //设置有效时间(手机验证码2分钟内有效)
        /*Jedis jedis = new Jedis();
        jedis.set("time","time");
        jedis.expire("time",5);//5秒自动消失
        jedis.close();*/
    }

    private static void executionSortedSet() {
        Jedis jedis = new Jedis();
        jedis.zadd("desc",100,"zhang");
        Set<String> desc = jedis.zrange("desc", 0, -1);
        System.out.println(desc);

        jedis.close();
    }

    private static void executionSet() {
        Jedis jedis = new Jedis();
        jedis.sadd("hobby","篮球","足球","羽毛球");
        jedis.srem("hobby","篮球");
        jedis.smembers("hobby").forEach(System.out::println);
        jedis.close();
    }

    private static void executionList() {
        Jedis jedis = new Jedis();

        jedis.lpush("ids","a","b","c","d");
        jedis.lpop("ids");
        jedis.lrange("ids",0,-1).forEach(System.out::println);

        jedis.close();
    }

    private static void executionHash() {
        //不加参数默认是本机和6379端口
        Jedis jedis = new Jedis();
        jedis.hset("user","name","lisi");
        String hget = jedis.hget("user", "name");
        System.out.println(hget);

        HashMap<String, String> map = new HashMap<>();
        map.put("age","20");
        map.put("address","北京");
        jedis.hmset("user",map);

        jedis.hmget("user","age","address").forEach(System.out::println);
        jedis.close();
    }

    /**
     * 操作字符串
     */
    private static void executionString() {
        //1、创建jedis
        Jedis jedis = new Jedis("localhost",6379);
        //set get
        jedis.set("name","zhang");
        System.out.println(jedis.get("name"));

        jedis.mset("age","10","sex","男");
        jedis.mget("age","sex").forEach(System.out::println);

        jedis.close();
    }
}

2-2、使用连接池获得jedis

public class Demo2 {

    //使用连接池获得jedis
    public static void main(String[] args) {
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxIdle(50);
        config.setMaxTotal(50);
        JedisPool jedisPool = new JedisPool(config, "localhost", 6379);

        //从池子中获取jedis
        Jedis jedis = jedisPool.getResource();
        jedis.set("wahaha","娃哈哈");
        System.out.println(jedis.get("wahaha"));

        jedis.close();

    }
}

2-3、封装JedisUtils工具类使用

1、抽取jedis.properties

host=localhost
port=6379
maxIdle=50
maxTotal=50

2、编写工具类JedisUtils

public class JedisUtils {
    private static JedisPool jedisPool;

    static {
        ResourceBundle bundle = ResourceBundle.getBundle("jedis");
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxIdle(Integer.parseInt(bundle.getString("maxIdle")));
        config.setMaxTotal(Integer.parseInt(bundle.getString("maxTotal")));
        jedisPool = new JedisPool(config, bundle.getString("host"), Integer.parseInt(bundle.getString("port")));

    }

    /**
     * 从池子中获取jedis
     * @return
     */
    public static Jedis getJedis() {
        Jedis jedis = jedisPool.getResource();
        return jedis;
    }

    /**
     * 释放资源
     * @param jedis
     */
    public static void release(Jedis jedis) {
        jedis.close();
    }

}

3、简单使用

public class Demo3 {
    public static void main(String[] args) {
        Jedis jedis = JedisUtils.getJedis();
        jedis.set("heihei","heiha");
        System.out.println(jedis.get("heihei"));

        JedisUtils.release(jedis);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值