Java使用能操作复述,服务器的实例代码

  

这几天Java项目中需要用到复述,于是学习了一下使用能来操作复述,服务器的相关知识、下面为具体的配置和代码。

  

<强> 1,Maven中配置能

  

在maven项目的pom.xml中添加依赖

        & lt; dependencies>   & lt; dependency>   & lt; groupId> redis.clients   & lt; artifactId> jedis   & lt; version> 2.9.0   & lt; type> jar   & lt; scope> compile   & lt;/dependency>   & lt;/dependencies>      

<强> 2,简单应用

        能能=新能(“localhost”);   能。设置(“foo”、“酒吧”);   字符串值=https://www.yisu.com/zixun/jedis.get (“foo”);      

<强> 3,JedisPool的实现

  

创建能连接池:

        JedisPoolConfig配置=new JedisPoolConfig();//能池配置文件   config.setMaxTotal (1024);//最大连接实例数   config.setMaxIdle (200);//最大闲置实例数   config.setMaxWaitMillis (15000);//等待可用连接的最大时间   config.setTestOnBorrow(真正的);//JedisPool池=new JedisPool (ADDR,配置端口、超时、身份验证);//创建一个能连接池以前      

从连接池中取出实例数:

        能能=pool.getResource ();//取出实例   jedis.set (“foo”、“酒吧”);   jedis.close ();//归还实例资源给连接池以前      

<强> 4,使用管道批量操作

  

由于复述是单线程,因此上述对复述的操作模式均为:请求——响应,请求响应…. .下一次请求必须等上一次请求响应回来之后才可以。在能中使用管道可以改变这种模式,客户算一次发送多个命令,无需等待服务器的返回,即请求,请求,请求,响应,响应,响应这种模式。这样一来大大减小了影响性能的关键因素:网络返回时间。

  

具体操作如下:

        能能=新能(“localhost”、6379、15000);   管道pip=jedis.pipelined ();   String> Map<字符串;mp=new HashMap<字符串,String> ();   长开始=System.currentTimeMillis ();   for (int i=0;我& lt;10000;我+ +){   mp.clear ();   mp.put (“k”+我,“v”+ i);   pip.hmset(“键”+ i, mp);   }      

简单的测试一下,运行10000个数据的存储花费93 ms左右的时间。而采用请求——响应,请求——响应的模式,操作如下:

        能能=新能(“localhost”、6379、15000);   String> Map<字符串;mp=new HashMap<字符串,String> ();   长开始=System.currentTimeMillis ();   for (int i=0;我& lt;10000;我+ +){   mp.clear ();   mp.put (“k”+我,“v”+ i);   jedis.hmset(“键”+ i, mp);   }      

测试时间826 ms。可见大量的时间均花费在网络交互上,复述本身的处理能力还是很强的。
  

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

Java使用能操作复述,服务器的实例代码