环境的搭建参见:http://www.cnblogs.com/yangzhilong/p/4729857.html

下面直接贴具体的测试代码:

 package com.yzl;

 import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.util.SerializationUtils; import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool; /**
* RedisApp的测试类
*
* @author yangzhilong
* @see [相关类/方法](可选)
* @since [产品/模块版本] (可选)
*/
public class RedisApp4Test {
private JedisPool pool;
private ApplicationContext app;
private Jedis jedis; @Before
public void before(){
app = new ClassPathXmlApplicationContext("spring-config.xml");
pool = app.getBean(JedisPool.class);
jedis = pool.getResource();
} @Test
public void test(){
//string
operationString(); //map
operationMap(); //list
operationList(); //自定义对象
operationMyObject();
} /**
*
* 功能描述: <br>
* 操作String
*
* @see [相关类/方法](可选)
* @since [产品/模块版本](可选)
*/
private void operationString(){
jedis.set("name", "hello");
jedis.append("name", " redis");
String value = jedis.get("name");
System.out.println("get value :" + value);
} /**
*
* 功能描述: <br>
* 操作Map
*
* @see [相关类/方法](可选)
* @since [产品/模块版本](可选)
*/
private void operationMap(){
Map<String, String> map = new HashMap<String, String>();
map.put("key1", "value1");
map.put("key2", "value2");
jedis.hmset("map", map);
//这里可以一次读取多个key
List<String> result = jedis.hmget("map", "key1" , "key2");
for(String str : result){
System.out.println("get value from map : " + str);
}
} /**
*
* 功能描述: <br>
* 操作List
*
* @see [相关类/方法](可选)
* @since [产品/模块版本](可选)
*/
private void operationList(){
List<String> result = Arrays.asList("item1","item2");
for(String str : result){
jedis.lpush("list", str);
}
jedis.lpush("list", "value3");
result = jedis.lrange("list", 0, -1);
for(String str : result){
System.out.println("get value from list : " + str);
}
jedis.lpop("list");
for(String str : result){
System.out.println("get value from list again : " + str);
}
} /**
*
* 功能描述: <br>
* 操作自定义对象
*
* @see [相关类/方法](可选)
* @since [产品/模块版本](可选)
*/
private void operationMyObject(){
Entity entity = new Entity();
entity.setName("test");
entity.setAge(20);
//保存
jedis.set("obj".getBytes(), SerializationUtils.serialize(entity));
//读取
byte[] bytes = jedis.get("obj".getBytes());
Entity ret = (Entity)SerializationUtils.deserialize(bytes);
System.out.println("读取到自定义的类的属性name的值为:" + ret.getName());
} @After
public void after(){
//释放连接
pool.returnResourceObject(jedis);
System.out.println("end~~~");
}
}

运行的结果:

 get value :hello redis
get value from map : value1
get value from map : value2
get value from list : value3
get value from list : item2
get value from list : item1
get value from list again : value3
get value from list again : item2
get value from list again : item1
读取到自定义的类的属性name的值为:test
end~~~

下一篇:8、redis之事务1-redis命令

7、redis之使用spring集成commons-pool来操作常见数据类型的更多相关文章

  1. 【redis】3.Spring 集成注解 redis 项目配置使用

    spring-data-redis  项目,配合 spring 特性并集成 Jedis 的一些命令和方法. 配置redis继承到spring管理项目,使用注解实现redis缓存功能. 参考:http: ...

  2. 5、redis之使用spring集成commons-pool

    添加spring的依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://w ...

  3. spring集成Junit做单元测试及常见异常解决办法

    spring-test依赖包 <!--Spring-test --> <!-- https://mvnrepository.com/artifact/org.springframew ...

  4. spring 集成redis客户端jedis(java)

    spring集成jedis简单实例   jedis是redis的java客户端,spring将redis连接池作为一个bean配置. “redis.clients.jedis.JedisPool”,这 ...

  5. spring 集成 redis -- pub/sub

    redis除了常用的当做缓存外,还可以当做简单的消息中间件,实现消息发布订阅 spring集成redis,可以使用spring-data-redis 首先引入相关maven依赖(此处我spring相关 ...

  6. Spring集成Redis方案(spring-data-redis)(基于Jedis的单机模式)(待实践)

    说明:请注意Spring Data Redis的版本以及Spring的版本!最新版本的Spring Data Redis已经去除Jedis的依赖包,需要自行引入,这个是个坑点.并且会与一些低版本的Sp ...

  7. Redis篇之操作、lettuce客户端、Spring集成以及Spring Boot配置

    Redis篇之操作.lettuce客户端.Spring集成以及Spring Boot配置 目录 一.Redis简介 1.1 数据结构的操作 1.2 重要概念分析 二.Redis客户端 2.1 简介 2 ...

  8. Spring集成Redis集群(含spring集成redis代码)

    代码地址如下:http://www.demodashi.com/demo/11458.html 一.准备工作 安装 Redis 集群 安装参考: http://blog.csdn.net/zk6738 ...

  9. Redis 与 Spring 集成

    配置applicationContext.xml <!-- 连接池配置 --> <bean id="jedisPoolConfig" class="re ...

随机推荐

  1. JavaScript:RegExp 对象

    ylbtech-JavaScript:RegExp 对象 1.返回顶部 RegExp 对象 RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具. 直接量语法 /pattern/att ...

  2. 2.2 dubbo-spi源码解析

    package com.alibaba.dubbo.demo.test; import com.alibaba.dubbo.common.extension.ExtensionLoader; impo ...

  3. Java语言:JAVA8 十大新特性详解(zz)

    关键词: Lambda表达式.函数式接口.方法与构造函数引用.接口的默认方法 原文地址: http://www.jb51.net/article/48304.htm 本教程将Java8的新特新逐一列出 ...

  4. art虚拟机介绍

    Android 4.4提供了一种与Dalvik截然不同的运行环境ART(Android runtime)支持,ART源于google收购的Flexycore的公司.ART模式与Dalvik模式最大的不 ...

  5. 转:在centos7上安装memcache

    转:https://www.liquidweb.com/kb/how-to-install-memcached-on-centos-7/ http://devdocs.magento.com/guid ...

  6. GL_ACTIVE_UNIFORMS可能不会返回没有用到的uniform

    To query for the list of active uniforms in a program, you first call glGetProgramiv with the GL_ACT ...

  7. ERROR in index.web.js from UglifyJs

    使用weexpack构建weex应用时,npm run serve一直报这个错误 ERROR in index.web.js from UglifyJs Unexpected token: name ...

  8. 详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点

    转自:http://www.jb51.net/article/100111.htm 首先我们需要安装好Nginx.jdk.Tomcat,安装方法已经在 上一篇 说过了,本篇不再赘述. 下来看一下我们的 ...

  9. Linux网络编程:基于UDP的程序开发回顾篇

    基于无连接的UDP程序设计 同样,在开发基于UDP的应用程序时,其主要流程如下:   对于面向无连接的UDP应用程序在开发过程中服务端和客户端的操作流程基本差不多.对比面向连接的TCP程序,服务端少了 ...

  10. PD 之 连接数据库并导出数据及生成PDM文件

    使用PowerDesigner工具,连接数据库并导出数据及生成PDM文件. 1.建立连接 “以管理员身份运行”打开PowerDesigner,右键“Workspace”→“New”→“Physical ...