/*
* 文件名:SimpleJedisDemo.java
* 版权:Copyright by www.huawei.com
* 描述:
* 修改人:yazuo
* 修改时间:2015-8-18
* 跟踪单号:
* 修改单号:
* 修改内容:
*/
package com.yazuo.redisdemo;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import redis.clients.jedis.Jedis;
/**
* 该类主要完成redis基础功能,若redis为单机版时,该方式即可。
* 但若连接redis集群时,该方式只能获取指定库的键值,表现形式为
* 取数据不完整。
* 〈一句话功能简述〉
* 〈功能详细描述〉
* @author yazuo
* @version 2015-8-18
* @see SimpleJedisConnection
* @since
*/
public class SimpleJedisConnection
{
//声明jedis对象
private static Jedis jedis = null;
private SimpleJedisConnection(){
}
/**
* 创建Jedis连接
* Description: <br>
* 1、…<br>
* 2、…<br>
* Implement: <br>
* 1、…<br>
* 2、…<br>
*
* @param host IP
* @see
*/
public static Jedis getJedisConnection(String host){
if(host !=null && host.length()>0 ){
jedis = new Jedis(host);
}
return jedis;
}
/**
* 创建jedis连接
* Description: <br>
* 1、…<br>
* 2、…<br>
* Implement: <br>
* 1、…<br>
* 2、…<br>
*
* @param host IP
* @param post 端口
* @see
*/
public static Jedis getJedisConnection(String host,int post){
if(host !=null && host.length()>0 && post !=0){
jedis = new Jedis(host,post);
}
return jedis;
}
/**
* 程序主方法
* Description: <br>
* 1、…<br>
* 2、…<br>
* Implement: <br>
* 1、…<br>
* 2、…<br>
*
* @param args
* @see
*/
public static void main(String[] args)
{
//获取连接
Jedis jedis = SimpleJedisConnection.getJedisConnection("192.168.234.190",7000);
//取得所有key
Set<String> keys = jedis.keys("*");
//显示
Iterator<String> iter = keys.iterator();
//遍历
while(iter.hasNext()){
String tempKey = iter.next();
String type = jedis.type(tempKey);
System.out.println("type :"+type);
//分类处理
//字符串处理
if("string".equals(type)){
System.out.println("key :"+tempKey +" value:"+jedis.get(tempKey));
}
//哈希处理
else if("hash".equals(type)){
Set<String> hashFields = jedis.hkeys(tempKey);
Iterator<String> hashIter = hashFields.iterator();
while(hashIter.hasNext()){
String hashField = hashIter.next();
System.out.print("key :"+tempKey+" field:"+hashField
+" value:"+jedis.hget(tempKey, hashField));
}
}
//有序列表
else if("list".equals(type)){
List<String> memberList = jedis.lrange(tempKey, 0, -1);
System.out.print("key :"+ tempKey+" value:");
for(String memeber : memberList){
System.out.print(" "+memeber);
}
System.out.println();
}
//集合
else if("set".equals(type)){
Set<String> sMembers = jedis.smembers(tempKey);
Iterator<String> iMembers = sMembers.iterator();
System.out.print("key :"+ tempKey+" value:");
while(iMembers.hasNext()){
String sMember = iMembers.next();
System.out.print(" "+sMember);
}
System.out.println();
}
//有序集合
else if("zset".equals(type)){
Set<String> sMembers = jedis.zrange(tempKey, 0, -1);
Iterator<String> iMembers = sMembers.iterator();
System.out.print("key :"+ tempKey+" value:");
while(iMembers.hasNext()){
String sMember = iMembers.next();
System.out.print(" "+sMember);
}
System.out.println();
}
}
//关闭连接
jedis.close();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
单机版:该类主要完成redis基础功能,若redis为单机版时,该方式即可。 但若连接redis集群时,该方式只能获取指定库的键值,表现形式为 取数据不完整。 集群版:redis集群连接. 分片存储:redis分片存储,该方式通过计算hash把数据均匀的存储在相应的redis库中,该方式只能操作通过分片存储的数据,其他单独客户端存储的数据,因hash定位 问题,无法找到键值数据。
资源推荐
资源详情
资源评论
收起资源包目录
redisdemo.rar (14个子文件)
redisdemo
.project 794B
.externalToolBuilders
org.maven.ide.eclipse.maven2Builder.launch 538B
src
test
java
com
yazuo
redisdemo
AppTest.java 647B
main
java
com
yazuo
redisdemo
ClusterJedisConnection.java 2KB
SimpleJedisConnection.java 4KB
ShardedJedisConnection.java 3KB
target
classes
com
yazuo
redisdemo
ShardedJedisConnection.class 2KB
ClusterJedisConnection.class 2KB
SimpleJedisConnection.class 4KB
test-classes
com
yazuo
redisdemo
AppTest.class 625B
.settings
org.maven.ide.eclipse.prefs 218B
org.eclipse.jdt.core.prefs 430B
pom.xml 878B
.classpath 514B
共 14 条
- 1
资源评论
- wssi20142015-11-15貌似是jedis端分配算法
- 雪_糕2017-01-09没什么用,还是不用下
醉秋辉
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功