`
liuxinglanyue
  • 浏览: 562569 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

使用Jredis做的小例子(入门级)

阅读更多

redis入门级例子:

 

package com.liuxinglanyue.test;

import java.util.ArrayList;
import java.util.List;

import org.jredis.JRedis;
import org.jredis.RedisException;
import org.jredis.ri.alphazero.JRedisClient;
import org.jredis.ri.alphazero.support.DefaultCodec;
import org.junit.Test;

public class Demo 
{
	@Test
	public void addOne()
	{
		JRedis jredis = new JRedisClient("192.168.1.106", 6379);
		try {
			jredis.ping();
		} catch (RedisException e) {
			System.out.println("不能ping通");
			e.printStackTrace();
			jredis.quit();
		}
		
		/*
		 * 构造一个User对象
		 */
		User user = new User();
		user.setName("liuxinglanyue");
		user.setPass("liuxinglanyue");
		List<Image> imageList = new ArrayList<Image>();
		for(int i=0; i<2; i++)
		{
			Image image = new Image();
			image.setUrl("Image url "+i);
			imageList.add(image);
		}
		user.setImageList(imageList);
		
		/*
		 * 向redis中加入数据
		 */
		try {
			jredis.sadd("userOne", user);
			System.out.println("添加成功!");
		} catch (RedisException e) {
			e.printStackTrace();
		} finally{
			jredis.quit();
		}
	}
	@Test
	public void show()
	{
		JRedis jredis = new JRedisClient("192.168.1.106", 6379);
		try {
			jredis.ping();
		} catch (RedisException e) {
			System.out.println("不能ping通");
			e.printStackTrace();
			jredis.quit();
		}
		
		
		try {
			List<User> user = DefaultCodec.decode(jredis.smembers("userOne"));
			for(User u : user)
			{
				System.out.print("Name:"+u.getName());
				System.out.print("  Password:"+u.getPass());
				List<Image> imageList = u.getImageList();
				for(Image image : imageList)
				{
					System.out.print("  ImageUrl:"+image.getUrl());
				}
				System.out.println();
			}
		} catch (RedisException e) {
			e.printStackTrace();
		} finally{
			jredis.quit();
		}
	}
	
	@Test
	public void addAll()
	{
		JRedis jredis = new JRedisClient("192.168.1.106", 6379);
		try {
			jredis.ping();
		} catch (RedisException e) {
			System.out.println("不能ping通");
			e.printStackTrace();
			jredis.quit();
		}
		
		/*
		 * 构造多个User对象
		 */
		for(int j=0; j<100; j++)
		{
			User user = new User();
			user.setName("liuxinglanyue"+j);
			user.setPass("liuxinglanyue"+j);
			List<Image> imageList = new ArrayList<Image>();
			for(int i=0; i<2; i++)
			{
				Image image = new Image();
				image.setUrl("Image "+j+" url "+i);
				imageList.add(image);
			}
			user.setImageList(imageList);
			
			/*
			 * 向redis中加入数据
			 */
			try {
				jredis.sadd("userOne", user);
				System.out.println("添加"+j+"成功!");
			} catch (RedisException e) {
				e.printStackTrace();
			}
		}
		jredis.quit();
	}
}
 

User类:

package com.liuxinglanyue.test;

import java.io.Serializable;
import java.util.List;

public class User implements Serializable
{
	private static final long serialVersionUID = 1L;
	
	private String name;
	private String pass;
	private List<Image> imageList;
	public String getName() 
	{
		return name;
	}
	public void setName(String name) 
	{
		this.name = name;
	}
	public String getPass() 
	{
		return pass;
	}
	public void setPass(String pass) 
	{
		this.pass = pass;
	}
	public List<Image> getImageList() 
	{
		return imageList;
	}
	public void setImageList(List<Image> imageList) 
	{
		this.imageList = imageList;
	}
}
 

Image类:

package com.liuxinglanyue.test;

import java.io.Serializable;

/*
 * 这里 Serializable 一定要加
 * 如果不加运行之前不报错,运行的时候就会报错
 */
public class Image implements Serializable
{
	private static final long serialVersionUID = 1L;
	
	private String url;

	public void setUrl(String url) 
	{
		this.url = url;
	}
	public String getUrl() 
	{
		return url;
	}
}
 

 

 

5
2
分享到:
评论
4 楼 liuxinglanyue 2011-03-28  
kingliu 写道
楼主你好,我测试你的代码,可是报错,还请解答一下,十分感谢:
这行:List<User> user = DefaultCodec.decode(jredis.smembers("userOne"));  报错:
Error decoding byte[] data to instantiate java object - data at key may not have been of this type or even an object。
全部报错信息如下:
java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2280)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2749)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:279)
at org.jredis.ri.alphazero.support.DefaultCodec.decode(DefaultCodec.java:197)
at org.jredis.ri.alphazero.support.DefaultCodec.decode(DefaultCodec.java:160)
at com.redis.test.JredisTest.show(JredisTest.java:62)
at com.redis.test.JredisTest.main(JredisTest.java:137)
Exception in thread "main" java.lang.RuntimeException: Error decoding byte[] data to instantiate java object - data at key may not have been of this type or even an object
at org.jredis.ri.alphazero.support.DefaultCodec.decode(DefaultCodec.java:214)
at org.jredis.ri.alphazero.support.DefaultCodec.decode(DefaultCodec.java:160)
at com.redis.test.JredisTest.show(JredisTest.java:62)
at com.redis.test.JredisTest.main(JredisTest.java:137)
Caused by: java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2280)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2749)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:279)
at org.jredis.ri.alphazero.support.DefaultCodec.decode(DefaultCodec.java:197)
... 3 more

看下端口。
3 楼 kingliu 2011-03-28  
楼主你好,我测试你的代码,可是报错,还请解答一下,十分感谢:
这行:List<User> user = DefaultCodec.decode(jredis.smembers("userOne"));  报错:
Error decoding byte[] data to instantiate java object - data at key may not have been of this type or even an object。
全部报错信息如下:
java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2280)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2749)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:279)
at org.jredis.ri.alphazero.support.DefaultCodec.decode(DefaultCodec.java:197)
at org.jredis.ri.alphazero.support.DefaultCodec.decode(DefaultCodec.java:160)
at com.redis.test.JredisTest.show(JredisTest.java:62)
at com.redis.test.JredisTest.main(JredisTest.java:137)
Exception in thread "main" java.lang.RuntimeException: Error decoding byte[] data to instantiate java object - data at key may not have been of this type or even an object
at org.jredis.ri.alphazero.support.DefaultCodec.decode(DefaultCodec.java:214)
at org.jredis.ri.alphazero.support.DefaultCodec.decode(DefaultCodec.java:160)
at com.redis.test.JredisTest.show(JredisTest.java:62)
at com.redis.test.JredisTest.main(JredisTest.java:137)
Caused by: java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2280)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2749)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:279)
at org.jredis.ri.alphazero.support.DefaultCodec.decode(DefaultCodec.java:197)
... 3 more
2 楼 liuxinglanyue 2011-03-15  
happy90 写道
没有main方法,怎么运行

用的是 junit4
1 楼 happy90 2011-03-15  
没有main方法,怎么运行

相关推荐

    struts2入门级的例子

    这个“struts2入门级的例子”是一个非常适合初学者的资源,它将引导你了解Struts2的基础知识和核心概念。通过实践这些例子,你可以快速掌握Struts2的使用方法,从而提高你的Web开发技能。 1. **配置环境**: 首先,...

    spring 例子入门级

    spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子spring 例子...

    java入门级练手小游戏源码合集.zip

    java入门级练手小游戏源码合集java入门级练手小游戏源码合集java入门级练手小游戏源码合集 java入门级练手小游戏源码合集java入门级练手小游戏源码合集java入门级练手小游戏源码合集 java入门级练手小游戏源码合集...

    java入门级spring加maven的小例子

    总结,这个入门级的Spring加Maven的小例子旨在帮助初学者理解如何使用Maven构建Spring项目,以及Spring的核心特性——依赖注入和面向切面编程。通过实践这个例子,你可以更好地掌握这些基础概念,为进一步深入学习...

    struts1.3 入门级例子

    总之,这个入门级例子涵盖了Struts1.3的基础架构和主要组件的使用,对初学者来说是一个很好的起点,可以让他们快速理解Web应用开发的基本流程和思想。通过实践这个例子,可以为学习更复杂的Struts1.3应用或其他Java ...

    [133]VC串口源码,很实用,新手很好的例子,很好的入门 级程.zip上位机开发VC串口学习资料源码下载

    [133]VC串口源码,很实用,新手很好的例子,很好的入门 级程.zip上位机开发VC串口学习资料源码下载[133]VC串口源码,很实用,新手很好的例子,很好的入门 级程.zip上位机开发VC串口学习资料源码下载[133]VC串口源码...

    C#入门小例子

    本资源“C#入门小例子”是为初学者准备的,它包含了一百个实例程序,旨在帮助新手快速掌握C#的基础知识和编程技巧。 首先,C#(读作"C Sharp")是微软公司于2000年推出的一种面向对象的编程语言,它基于.NET框架,...

    Extjs4.1 小例子(适合extjs初学者学习使用)

    标题中的"Extjs4.1 小例子"意味着这个压缩包包含了一些基础的示例代码,旨在帮助初学者快速入门。通过这些小例子,你可以了解如何使用ExtJS 4.1来创建用户界面,包括布局管理、组件系统、数据绑定、事件处理等核心...

    VB入门级教程,实例详细

    VB入门级开发教程,实例详细,内容丰富......

    swift 入门级demo例子1

    这个"swift 入门级demo例子1"压缩包包含了一系列基础的Swift编程示例,适合初学者用来理解Swift的基本语法和特性,并且每个例子都是可运行的,能够快速应用到实际项目中。 首先,`LICENSE`文件通常包含了软件的许可...

    ARM嵌入式入门级教程.pdf

    ARM嵌入式入门级教程 ARM嵌入式入门级教程 ARM嵌入式入门级教程

    华为云课程课件ppt,人工智能入门级开发者认证 HCCDA – AI

    人工智能入门级开发者认证 HCCDA – AI 人工智能概览 56 了解人工智能基本定义、发展历史、技术架构、落地挑战、发展趋势、华为全栈全场景AI解决方案 人工智能应用集成需求分析 31 了解人工智能应用开发需求分析过程...

    vue入门小例子

    在“vue入门小例子”这个项目中,我们可以看到作者通过实践Vue.js的基本特性来学习和理解这个框架。这里我们将深入探讨Vue.js的核心概念和在`TestVUE.html`和`vue.js`这两个文件中可能涉及的知识点。 首先,Vue.js...

    hibernate入门小例子

    【hibernate入门小例子】是一个适合初学者的教程,主要涵盖了如何在JavaWeb项目中使用Hibernate框架与MySQL数据库进行集成。在这个例子中,我们将会深入理解Hibernate的核心概念,包括实体映射、对象关系映射(ORM)...

    Jsp&Servlet;入门级项目全程实录源码文件

    Jsp&Servlet;入门级项目全程实录源码文件Jsp&Servlet;入门级项目全程实录源码文件Jsp&Servlet;入门级项目全程实录源码文件Jsp&Servlet;入门级项目全程实录源码文件

    springboot 入门级

    springboot 入门级讲演ppt,适合小白,大神勿扰, springboot 入门级讲演ppt,适合小白,大神勿扰

    Spring入门小例子

    这个"Spring入门小例子"是专为Spring初学者设计的,旨在帮助学习者快速理解并掌握Spring的基本概念和使用方法。 首先,我们来了解一下Spring的核心概念——控制反转(IoC)。在传统的软件开发中,对象之间的依赖...

    sprig入门级例子

    这个是一个很适合初学spring的简单例子

    JFreeChart入门小例子.rar

    这个压缩包“JFreeChart入门小例子.rar”显然是一个初学者导向的教程资源,旨在帮助用户快速掌握如何在Java项目中集成和使用JFreeChart。 在“JFreeChart入门小例子 - 因为专注,所以专业 - BlogJava.htm”中,可能...

    入门级数据分析

    简单易懂的数据分析。入门级知识易懂,反正就这样了凑足20字。

Global site tag (gtag.js) - Google Analytics