使用Jedis操作Redis数据库
Redis不仅是使用命令来操作,现在基本上主流的语言都有客户端支持,比如java、C、C#、C++、php、Node.js、Go等。 在官方网站里列一些Java的客户端,有Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推荐使用Jedis和Redisson。 在企业中用的最多的就是Jedis,Jedis同样也是托管在github上,地址:https://github.com/xetorthio/jedis。
使用Jedis时,需要导入两个jar包:
Jedis的基本操作是:
Jedis官方文档:http://xetorthio.github.io/jedis/
Jedis的常用API是:
Jedis的基本操作是:
@Test public void testJedisSingle(){ //1 设置ip地址和端口 Jedis jedis = new Jedis("localhost", 6379); //2 设置数据 jedis.set("name", "qingmu"); //3 获得数据 String name = jedis.get("name"); System.out.println(name); //4 释放资源 jedis.close(); }
jedis连接池的使用:
jedis连接资源的创建与销毁是很消耗程序性能,所以jedis为我们提供了jedis的池化技术,jedisPool在创建时初始化一些连接资源存储到连接池中,使用jedis连接资源时不需要创建,而是从连接池中获取一个资源进行redis的操作,使用完毕后,不需要销毁该jedis连接资源,而是将该资源归还给连接池,供其他请求使用。
Jedis连接池查询API的方式:
jedisPool的基本使用:
@Test public void testJedisPool(){ //1 获得连接池配置对象,设置配置项 JedisPoolConfig config = new JedisPoolConfig(); // 1.1 最大连接数 config.setMaxTotal(30); // 1.2 最大空闲连接数 7.4 案例-编写jedis连接池工具类 JedisUtils.java config.setMaxIdle(10); //2 获得连接池 JedisPool jedisPool = new JedisPool(config, "localhost", 6379); //3 获得核心对象 Jedis jedis = null; try { jedis = jedisPool.getResource(); //4 设置数据 jedis.set("name", "itcast"); //5 获得数据 String name = jedis.get("name"); System.out.println(name); } catch (Exception e) { e.printStackTrace(); } finally{ if(jedis != null){ jedis.close(); } // 虚拟机关闭时,释放pool资源 if(jedisPool != null){ jedisPool.close(); } } }
Jedis的工具类的编写:
package com.itheima.utils; import java.util.ResourceBundle; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; public class JedisUtils { private static JedisPoolConfig poolConfig = null; private static JedisPool jedisPool = null; private static Integer maxTotal = null; private static Integer maxIdle = null; private static String host = null; private static Integer port = null; static{ jedis.properties //读取配置文件 获得参数值 ResourceBundle rb = ResourceBundle.getBundle("jedis"); maxTotal = Integer.parseInt(rb.getString("jedis.maxTotal")); maxIdle = Integer.parseInt(rb.getString("jedis.maxIdle")); port = Integer.parseInt(rb.getString("jedis.port")); host = rb.getString("jedis.host"); poolConfig = new JedisPoolConfig(); poolConfig.setMaxTotal(maxTotal); poolConfig.setMaxIdle(maxIdle); jedisPool = new JedisPool(poolConfig,host,port); } public static Jedis getJedis(){ Jedis jedis = jedisPool.getResource(); return jedis; } }
jedis.properties
jedis.host=localhost jedis.port=6379 jedis.maxTotal=30 jedis.maxIdle=10
本文来自博客园,作者:King-DA,转载请注明原文链接:https://www.cnblogs.com/qingmuchuanqi48/p/10918100.html