radis学习五个常用类型和工具类

radis五个常用类型和工具类

参考 —>radis安装 win

1、radis工具类
package com.*;

import org.junit.jupiter.api.DynamicTest;
import org.junit.jupiter.api.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.util.ResourceBundle;

public class redisUtil {
    //得到值
    ResourceBundle rb=ResourceBundle.getBundle("redis");
    int maxAction = Integer.parseInt(rb.getString("redis.pool.maxActive"));
    int maxIdle = Integer.parseInt(rb.getString("redis.pool.maxIdle"));
    int maxWait = Integer.parseInt(rb.getString("redis.pool.maxWait"));
    String ip = rb.getString("redis.ip");
    int port =Integer.parseInt(rb.getString("redis.port"));

    public Jedis getJedis(){
        //2、创建连接池配置类
        JedisPoolConfig poolConfig=new JedisPoolConfig();
        // 设置最大连接数
        poolConfig.setMaxTotal(maxAction);
        // 设置最大空闲数
        poolConfig.setMaxIdle(maxIdle);
        // 设置超时时间
        poolConfig.setMaxWaitMillis(maxWait);
        //3、创建连接池类
        JedisPool  jedisPool=new JedisPool(poolConfig, ip, port);
        //4、返回操作对象
        return jedisPool.getResource();
    }
}

2、radis五种类型
package com.hzh;

import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * @author hzh
 * @version 1.0
 * @descripton:
 * @date 2020/12/15 17:05
 */
public class redisDemo {
    Jedis jedis;
    @Before
    public void before(){
        jedis=new redisUtil().getJedis();
    }
    /**
     * string 字符类型
     */
    @Test
    public void stringDemo(){
        jedis.set("string","a");
        jedis.append("strings","b");//如果存在此key则追加,否则新增key和值
        System.out.println(jedis.get("string"));//根据key查出值
        System.out.println(jedis.get("strings"));//根据key查出值
        System.out.println(jedis.exists("string"));//根据key判断是否存在

    }
    /**
     * hash哈希类型
     */
    @Test
    public void hashDemo(){
        Map<String,String> map=new HashMap<>();
        map.put("name","name1");
        map.put("sex","Sex1");
        jedis.hmset("map",map);
//        jedis.hdel("map","name");
        System.out.println(jedis.hmget("map","sex","name"));//查询map里的key值
        System.out.println(jedis.hlen("map"));//查询map的长度
        System.out.println(jedis.hkeys("map"));//查询map所有key
        System.out.println(jedis.hvals("map"));//查询map所有值

    }
    /**
     * list列表类型
     */
    @Test
    public void listDemo(){
        jedis.del("J2EE");
        jedis.lpush("J2EE","spring");
        jedis.lpush("J2EE","struts");
        jedis.lpush("J2EE","hibernate");

        jedis.lset("J2EE",1,"update");//根据key里的索引修改值
        System.out.println(jedis.llen("J2EE"));//得到key里的长度
        System.out.println(jedis.lrange("J2EE",0,-1));//根据key得到所有值
    }
    /**
     * set 集合类型
     */
    @Test
    public void setDemo(){
        jedis.sadd("set","123");
        jedis.sadd("set","456");
        jedis.sadd("set2","321");
        jedis.sadd("set2","654");

        System.out.println(jedis.smembers("set"));//根据key查出所有的值
        System.out.println(jedis.sismember("set","123"));//判断值是否是set集合里的元素
        System.out.println(jedis.scard("set"));//返回key的长度

        jedis.sunionstore("sets","set","set2");//把另一个集合的值存入新的集合
        System.out.println(jedis.smembers("sets"));//根据key查出所有的值

        Set<String> sinter = jedis.sinter("set", "sets");//查出两个集合相同的值
        System.out.println("sinter = " + sinter);

        //查出两个集合相同的值并赋值到新集合里
        Long sinterstore = jedis.sinterstore("setss","set","sets");
        System.out.println("共同好友数量:"+sinterstore);
        System.out.println("user3="+jedis.smembers("setss"));
    }
    /**
     * zset有序集合类型
     */
    @Test
    public void zsetDemo(){
        jedis.zadd("zset",10,"html");
        jedis.zadd("zset",50,"css");
        jedis.zadd("zset",70,"java");
        jedis.zadd("zset",99,"js");
        System.out.println(jedis.zscore("zset", "js"));//根据值查出key
        System.out.println(jedis.zrange("zset",0,-1));//从低到高排序查出值
        jedis.zrevrange("zset",0,-1);//从高到低排序查出值
        System.out.println(jedis.zrangeByScore("zset", 20, 90));//根据key范围查询
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值