Jedis

Jedis

Redis不仅是使用命令来操作,现在基本上主流的语言都有客户端支持,
比如java、C、C#、C++、php、Node.js、Go等。
​
Java的客户端,有Jedis、Redisson、Jredis、JDBC-Redis、等
​
其中官方推荐使用Jedis和Redisson。 

 

jedis的基本操作

方法解释
new Jedis(host, port)创建jedis对象,参数host是redis服务器地址,参数port是redis服务端口
set(key,value)设置字符串类型的数据
get(key)获得字符串类型的数据
hset(key,field,value)设置哈希类型的数据
hget(key,field)获得哈希类型的数据
lpush(key,values)设置列表类型的数据
lpop(key)列表左面弹栈
rpop(key)列表右面弹栈
del(key)删除指定的key

jedis的基本操作

public static void main(String[] args) {
    
    /*使用jedis操作redis*/
    //1.建立于redis连接
    //public Jedis(String host, int port)
    //      host,redis服务器的地址ip
    //      port,redis服务器的端口号
    Jedis jedis = new Jedis("localhost",6379);
    
    //2.执行添加数据的命名
    //添加字符串
    jedis.set("name","admin");
    //添加list
    jedis.lpush("myList2","one","two","three");
    
    //3.获取redis里面的数据
    //获取字符串类型
    String value = jedis.get("name");
    
    //获取list类型
    List<String> myList2 =  jedis.lrange("myList2",0,-1);
    
    //输出
    System.out.println("name="+value);
    System.out.println("myList2:"+ myList2);
    
    //4.关闭连接
    jedis.close();
}

 

jedis连接池的使用

jedis连接资源的创建与销毁是很消耗程序性能,所以jedis为我们提供了jedis的池化技术,
​
jedisPool在创建时初始化一些连接资源存储到连接池中,使用jedis连接资源时不需要创建,
而是从连接池中获取一个资源进行redis的操作,
​
使用完毕后,不需要销毁该jedis连接资源,而是将该资源归还给连接池,供其他请求使用。

 

jedisPool的基本使用

public static void main(String[] args) {
    
    /*使用jedis操作redis*/
    //1.创建连接配置对象
    JedisPoolConfig config = new JedisPoolConfig();
    config.setMaxTotal(10);//最大连接数
    config.setMaxIdle(3);//最大空闲连接
    config.setMaxWaitMillis(30000);//最大等待时间,毫秒
    
    //2.创建连接池对象
    //JedisPool(GenericObjectPoolConfig poolConfig, String host, int port)
    JedisPool jedisPool = new JedisPool(config,"localhost",6379);
​
    //3.从连接池里面获取redis连接
    Jedis jedis = jedisPool.getResource();
    
    //4.执行添加数据的命名
    //添加字符串
    jedis.set("name","admin");
    
    //添加list
    jedis.lpush("myList2","one","two","three");
    
    //5.获取redis里面的数据
    //获取字符串类型
    String value = jedis.get("name");
    //获取list类型
    List<String> myList2 =  jedis.lrange("myList2",0,-1);
    //输出
    System.out.println("name="+value);
    System.out.println("myList2:"+ myList2);
    
    //6.关闭连接
    jedis.close();
}

 

 

jedis连接池工具类

public class JedisUtil {
​
    //连接池对象
    private static JedisPool jedisPool;
​
    static{
        //加载解析配置文件,ResourceBundle专门用于解析properties文件的,
        //可以根据文件名字,自动加载properties文件
        //redis.properties文件放在src目录下(类路径下面)
        ResourceBundle resourceBundle = ResourceBundle.getBundle("redis");
        
        //获取配置文件数据
        int maxTotal = Integer.parseInt(resourceBundle.getString("maxTotal"));
        int maxIdle = Integer.parseInt(resourceBundle.getString("maxIdle"));
        int maxWaitMillis = Integer.parseInt(resourceBundle.getString("maxWaitMillis"));
        String host = resourceBundle.getString("host");
        int port = Integer.parseInt(resourceBundle.getString("port"));
        
        //初始化连接池配置对象
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(maxTotal);//最大连接数
        config.setMaxIdle(maxIdle);//最大空闲连接
        config.setMaxWaitMillis(maxWaitMillis);//最大等待时间,毫秒
        
        // 初始化连接池对象
        jedisPool = new JedisPool(config,host,port);
    }
​
​
    /**
     * 获取一个jedis连接
     * @return Jedis
     */
    public static Jedis getJedis(){
        return jedisPool.getResource();
    }
}
#最大连接数
maxTotal=50
​
#最大空闲连接
maxIdle=5
​
#最大等待时间,毫秒
maxWaitMillis=30000
​
#redis服务器的地址ip
host=localhost
​
#redis服务器的端口号
port=6379

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值