redis集群javaApi
<p>pom.xml需要这2个包</p>
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.8.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.sourceforge.cobertura/cobertura -->
<dependency>
<groupId>net.sourceforge.cobertura</groupId>
<artifactId>cobertura</artifactId>
<version>2.0.3</version>
</dependency></code></pre>
代码:
import java.io.IOException;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
/**
- @ClassName: RedisJava
- @Description: java api 操作例子
- @author zhouzhongqing
- @date 2017 年 1 月 10 日 下午 3:39:48
*/
public class RedisJava {
<span class="hljs-comment">/* List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();
JedisShardInfo j = new JedisShardInfo("", 78);
ShardedJedis shardedJedis = new ShardedJedis(shards );*/</span>
<span class="hljs-comment">//集群操作</span>
<span class="hljs-type">JedisCluster</span> <span class="hljs-variable">jedisCluster</span> <span class="hljs-operator">=</span> <span class="hljs-literal">null</span>;
<span class="hljs-keyword">public</span> <span class="hljs-title function_">RedisJava</span><span class="hljs-params">()</span> {
<span class="hljs-comment">// redis节点信息 这里最好写入配置文件</span>
Set<HostAndPort> nodes = <span class="hljs-keyword">new</span> <span class="hljs-title class_">HashSet</span><HostAndPort>();
<span class="hljs-type">HostAndPort</span> <span class="hljs-variable">hap1</span> <span class="hljs-operator">=</span> <span class="hljs-keyword">new</span> <span class="hljs-title class_">HostAndPort</span>(<span class="hljs-string">"192.168.16.130"</span>, <span class="hljs-number">7000</span>);
<span class="hljs-type">HostAndPort</span> <span class="hljs-variable">hap2</span> <span class="hljs-operator">=</span> <span class="hljs-keyword">new</span> <span class="hljs-title class_">HostAndPort</span>(<span class="hljs-string">"192.168.16.130"</span>, <span class="hljs-number">7001</span>);
<span class="hljs-type">HostAndPort</span> <span class="hljs-variable">hap3</span> <span class="hljs-operator">=</span> <span class="hljs-keyword">new</span> <span class="hljs-title class_">HostAndPort</span>(<span class="hljs-string">"192.168.16.130"</span>, <span class="hljs-number">7002</span>);
<span class="hljs-type">HostAndPort</span> <span class="hljs-variable">hap4</span> <span class="hljs-operator">=</span> <span class="hljs-keyword">new</span> <span class="hljs-title class_">HostAndPort</span>(<span class="hljs-string">"192.168.16.135"</span>, <span class="hljs-number">7003</span>);
<span class="hljs-type">HostAndPort</span> <span class="hljs-variable">hap5</span> <span class="hljs-operator">=</span> <span class="hljs-keyword">new</span> <span class="hljs-title class_">HostAndPort</span>(<span class="hljs-string">"192.168.16.135"</span>, <span class="hljs-number">7004</span>);
<span class="hljs-type">HostAndPort</span> <span class="hljs-variable">hap6</span> <span class="hljs-operator">=</span> <span class="hljs-keyword">new</span> <span class="hljs-title class_">HostAndPort</span>(<span class="hljs-string">"192.168.16.135"</span>, <span class="hljs-number">7005</span>);
nodes.add(hap1);
nodes.add(hap2);
nodes.add(hap3);
nodes.add(hap4);
nodes.add(hap5);
nodes.add(hap6);
jedisCluster = <span class="hljs-keyword">new</span> <span class="hljs-title class_">JedisCluster</span>(nodes);
}
<span class="hljs-comment">/**
* <p>函数名称: findByKey</p>
* <p>方法描述: 通过key查询</p>
* <p>方法调用例子:</p>
* <p>完成日期:2017年1月10日</p>
* <span class="hljs-doctag">@param</span> <span class="hljs-doctag">@param</span> key
* <span class="hljs-doctag">@return</span> void
* <span class="hljs-doctag">@throws</span> Exception
* <span class="hljs-doctag">@version</span> 1.0
*/</span>
<span class="hljs-keyword">private</span> <span class="hljs-keyword">void</span> <span class="hljs-title function_">findByKey</span><span class="hljs-params">(String key)</span> {
<span class="hljs-keyword">try</span> {<span class="hljs-comment">//取字符串</span>
<span class="hljs-type">String</span> <span class="hljs-variable">value</span> <span class="hljs-operator">=</span> jedisCluster.get(key);
System.out.println(value);
} <span class="hljs-keyword">catch</span> (Exception e) {
<span class="hljs-keyword">try</span> {<span class="hljs-comment">//取list</span>
<span class="hljs-comment">// 取数据,第一个是key,第二个是起始位置,第三个是结束位置,jedis.llen获取长度 -1表示取得所有</span>
List<String> values = jedisCluster.lrange(key, <span class="hljs-number">0</span>, -<span class="hljs-number">1</span>);
System.out.println(values);
} <span class="hljs-keyword">catch</span> (Exception e2) {
System.out.println(<span class="hljs-string">"redis没有这个key"</span>);
}
}
}
<span class="hljs-comment">/**
* <p>函数名称: findByKey</p>
* <p>方法描述: 通过key删除</p>
* <p>方法调用例子:</p>
* <p>完成日期:2017年1月10日</p>
* <span class="hljs-doctag">@param</span> <span class="hljs-doctag">@param</span> key
* <span class="hljs-doctag">@return</span> void
* <span class="hljs-doctag">@throws</span> Exception
* <span class="hljs-doctag">@version</span> 1.0
*/</span>
<span class="hljs-keyword">private</span> <span class="hljs-keyword">void</span> <span class="hljs-title function_">deleteByKey</span><span class="hljs-params">(String key)</span> {
<span class="hljs-type">Long</span> <span class="hljs-variable">value</span> <span class="hljs-operator">=</span> jedisCluster.del(key);
System.out.println(value);
}
<span class="hljs-comment">/**
* <p>函数名称: insertObjec</p>
* <p>方法描述: 新增</p>
* <p>方法调用例子:</p>
* <p>完成日期:2017年1月10日</p>
* <span class="hljs-doctag">@param</span> <span class="hljs-doctag">@param</span> key
* <span class="hljs-doctag">@return</span> void
* <span class="hljs-doctag">@throws</span> Exception
* <span class="hljs-doctag">@version</span> 1.0
* <span class="hljs-doctag">@throws</span> IOException
*/</span>
<span class="hljs-keyword">private</span> <span class="hljs-keyword">void</span> <span class="hljs-title function_">insertObjec</span><span class="hljs-params">()</span> <span class="hljs-keyword">throws</span> IOException {
<span class="hljs-type">Long</span> <span class="hljs-variable">value</span> <span class="hljs-operator">=</span> jedisCluster.lpush(<span class="hljs-string">"testLists"</span>, <span class="hljs-string">"1"</span>,<span class="hljs-string">"2"</span>,<span class="hljs-string">"3"</span>);<span class="hljs-comment">// k-v存储,v表示的List(队列形式) //先进先出 </span>
<span class="hljs-comment">//或者rpush方法 注意,此处的rpush和lpush是List的操作。是一个双向链表(但从表现来看的</span>
System.out.println(value);
<span class="hljs-keyword">if</span>(jedisCluster != <span class="hljs-literal">null</span>){
jedisCluster.close();
}
}</code></pre>