2020-08-10

Java Redis系列3(Jedis的使用+jedis连接池技术)

Jedis的使用

什么是Jedis?

一款Java操作redis数据库的工具

使用步骤

1.下载redis所需的java包
2.使用步骤

import org.junit.Test;public class Jedis { @Test public void test1(){  //获取连接  //如果使用空参构造,默认值 "localhost",6379端口  redis.clients.jedis.Jedis jedis = new redis.clients.jedis.Jedis();  //设置数据  jedis.set("name","zhangsna");  //关闭连接  jedis.close(); }}

Jedis操作不同的redis中的数据结构

1.字符串

设置:set
获取:get

import org.junit.Test;public class Jedis { @Test public void test1(){  //获取连接  redis.clients.jedis.Jedis jedis = new redis.clients.jedis.Jedis();  //设置数据  jedis.set("name","zhangsna");  //获取参数  String name = jedis.get("name");;  //关闭连接  jedis.close(); }}

2.hash类型:map格式

import org.junit.Test;import java.util.Map;public class Jedis { @Test public void test1(){  //获取连接  //如果使用空参构造默认是localhost,3670端口  redis.clients.jedis.Jedis jedis = new redis.clients.jedis.Jedis();  //设置数据  jedis.hset("user","name","zhangsan");  jedis.hset("user","id","13");  //获取数据  jedis.hget("user","name");  //获取全部数据  Map<String, String> user = jedis.hgetAll("user");  //关闭连接  jedis.close(); }}

3.列表类型list

import org.junit.Test;public class Jedis { @Test public void test1(){  //获取连接  //如果使用空参构造默认是localhost,3670端口  redis.clients.jedis.Jedis jedis = new redis.clients.jedis.Jedis();  //设置数据  //左边添加数据  jedis.lpush("list","a");  //右边添加数据  jedis.rpush("list","b");  //获取指定范围内的数据  jedis.lrange("list" ,0,-1);  //移除最右边的数据并返回值  String list = jedis.rpop("list");  //移除最左边的数据并返回值  String list1 = jedis.lpop("list");  //关闭连接  jedis.close(); }}

4.集合类型:set 不允许重复元素

import org.junit.Test;import java.util.Set;public class Jedis { @Test public void test1(){  //获取连接  //如果使用空参构造默认是localhost,3670端口  redis.clients.jedis.Jedis jedis = new redis.clients.jedis.Jedis();  //设置数据  jedis.sadd("set","a");  jedis.sadd("set","b");  //获取集合中的全部数据  Set<String> set = jedis.smembers("set");  //移除集合中的指定数据  jedis.srem("a");  //关闭连接  jedis.close(); }}

5.有序集合类型:sortedset 不允许重复元素,且集合有序

import org.junit.Test;import java.util.Set;public class Jedis { @Test public void test1(){  //获取连接  //如果使用空参构造默认是localhost,3670端口  redis.clients.jedis.Jedis jedis = new redis.clients.jedis.Jedis();  //设置数据  jedis.zadd("sortedset",2,"a");  jedis.zadd("sortedset",1,"b");  //获取集合中的全部数据  jedis.zrange("sortedset",0,-1);  //移除集合中的指定数据  jedis.zrem("sortedset", "a");  //关闭连接  jedis.close(); }}

Jedis连接池技术

import org.junit.Test;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;public class Jedis { @Test public void test1(){  //创建一个配置对象  JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();  //设置参数  //最大空闲数  jedisPoolConfig.setMaxIdle(50);  //最大连接数  jedisPoolConfig.setMaxTotal(50);  //创建数据库连接池对象  JedisPool pool= new JedisPool(jedisPoolConfig, "localhost", 6379);  //获取连接  redis.clients.jedis.Jedis resource = pool.getResource();  //使用  resource.set("username","zhangsan");  //归还连接到数据库连接池  resource.close(); }}

使用工具类创建数据库连接池

配置文件信息(放在src目录下)

host:127.0.0.1port:6379maxTotal:50maxIdle:10

工具类代码

import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;import java.io.IOException;import java.io.InputStream;import java.util.Properties;public class JedisUtil { private static JedisPool jedisPool; //使用静态代码块加载配置文件 static {  //读取配置文件  InputStream resourceAsStream = JedisUtil.class.getClassLoader().getResourceAsStream("jedis.properties");  //创建properties对象  Properties properties = new Properties();  //关联文件  try {   properties.load(resourceAsStream);  } catch (IOException e) {   e.printStackTrace();  }  //创建配置文件对象  JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();  jedisPoolConfig.setMaxTotal(Integer.parseInt(properties.getProperty("maxTotal")));  jedisPoolConfig.setMaxIdle(Integer.parseInt("maxIdle"));  //初始化jedispool  jedisPool=new JedisPool(jedisPoolConfig,properties.getProperty("host"),Integer.parseInt(properties.getProperty("port"))); } //获取连接 public static JedisPool getJedisPool(){  return jedisPool; }}

测试类代码

import org.junit.Test;import redis.clients.jedis.JedisPool;public class Jedis { @Test public void test1(){  //使用工具类获取连接池  JedisPool jedisPool = JedisUtil.getJedisPool();  //获取连接  redis.clients.jedis.Jedis resource = jedisPool.getResource();  //使用连接操作  resource.set("name", "zhangsan");  //归还连接 }}

以上就是jedis的一些基础操作及怎么使用jedis连接池,这也是我JAVA redis系列的第三篇,后面我会继续更新,写作不易,请各位老铁点个赞支持一下,觉得有帮助的也可以收藏呀,我会经常更新文章,也可以关注我呀

在这里插入图片描述

Java Redis系列3(Jedis的使用+jedis连接池技术)决战亚马逊之Google营销深度精讲listing广告主题没有报名旺季秒杀,这样操作也能蹭流量增长率68%!亚马逊物流业务将超越UPS和FedEx!亚马逊解封攻略:图片侵权申诉方法全解析!开平马降龙碉楼开门时间是什么时候?怎么去满堂客家大围?去满堂客家大围怎么走?2017端午节哪里有赛龙舟可以看?

No comments:

Post a Comment