7、redis之使用spring集成commons-pool来操作常见数据类型
环境的搭建参见: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~~~
7、redis之使用spring集成commons-pool来操作常见数据类型的更多相关文章
- 【redis】3.Spring 集成注解 redis 项目配置使用
spring-data-redis 项目,配合 spring 特性并集成 Jedis 的一些命令和方法. 配置redis继承到spring管理项目,使用注解实现redis缓存功能. 参考:http: ...
- 5、redis之使用spring集成commons-pool
添加spring的依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://w ...
- spring集成Junit做单元测试及常见异常解决办法
spring-test依赖包 <!--Spring-test --> <!-- https://mvnrepository.com/artifact/org.springframew ...
- spring 集成redis客户端jedis(java)
spring集成jedis简单实例 jedis是redis的java客户端,spring将redis连接池作为一个bean配置. “redis.clients.jedis.JedisPool”,这 ...
- spring 集成 redis -- pub/sub
redis除了常用的当做缓存外,还可以当做简单的消息中间件,实现消息发布订阅 spring集成redis,可以使用spring-data-redis 首先引入相关maven依赖(此处我spring相关 ...
- Spring集成Redis方案(spring-data-redis)(基于Jedis的单机模式)(待实践)
说明:请注意Spring Data Redis的版本以及Spring的版本!最新版本的Spring Data Redis已经去除Jedis的依赖包,需要自行引入,这个是个坑点.并且会与一些低版本的Sp ...
- Redis篇之操作、lettuce客户端、Spring集成以及Spring Boot配置
Redis篇之操作.lettuce客户端.Spring集成以及Spring Boot配置 目录 一.Redis简介 1.1 数据结构的操作 1.2 重要概念分析 二.Redis客户端 2.1 简介 2 ...
- Spring集成Redis集群(含spring集成redis代码)
代码地址如下:http://www.demodashi.com/demo/11458.html 一.准备工作 安装 Redis 集群 安装参考: http://blog.csdn.net/zk6738 ...
- Redis 与 Spring 集成
配置applicationContext.xml <!-- 连接池配置 --> <bean id="jedisPoolConfig" class="re ...
随机推荐
- Leetcode刷题记录:编码并解码短网址
题目要求 编写一个类,提供两个方法.一个可以将普通的网址编码成短网址,一个可以将短网址还原为普通网址. 参考题解 # 使用随机函数,生成短网址,保存在dict中,避免重复 import random ...
- python读取yaml配置文件
支持多种语言:python.js.golang.java.c.c++ YAML 语言(发音 /ˈjæməl/ )的设计目标,就是方便人类读写.它实质上是一种通用的数据串行化格式. 它的基本语法规则如下 ...
- IDEA 快速将spring boot项目打包成jar包,简单快速有效
原文地址;https://blog.csdn.net/chen846262292/article/details/80701101 https://www.cnblogs.com/chrischen ...
- 这篇NLP文章不错,BERT,好好读一下
http://dy.163.com/v2/article/detail/DU5PE7V30511ABV6.html 狂破11项记录,谷歌年度最强NLP论文到底强在哪里?
- MSSQL 数据库语句原来是区分大小写的啊
一直以来我们都认为数据库语句是不区分大小写,其实这是错误的认识,之所以不区分是因为数据库语言不区分大小写.这里我们以mssql2005中自带的AdventureWorksDW数据库为例. 执行以下语句 ...
- Construct Binary Tree from Preorder and Inorder Traversal leetcode java
题目: Given preorder and inorder traversal of a tree, construct the binary tree. Note: You may assume ...
- 一款基于jQuery的图片场景标注提示弹窗特效
今天给大家分享一款基于jQuery的图片场景标注提示弹窗特效,这款实例适合在图片上标注某个物件,单击弹出详情说明,兼容360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之 ...
- 八一八android开发规范(一种建议)
开发规范重不重要了,不言而喻.这里就给大家说一故事把——据<圣经·旧约·创世记>第11章记载,是当时人类联合起来兴建,希望能通往天堂的高塔.为了阻止人类的计划,上帝让人类说不同的语言,使人 ...
- MFC中位图的显示
分析: 首先,我们要明确一点,窗口的绘制包括两个步骤,首先:擦除窗口背景,然后再对窗口重新进行绘制:当擦除窗口背景时,程序会发生一个WM_ERASEBKGND消息,因此可以在此响应函数中完成位图的显示 ...
- NLP资源
http://www.cs.columbia.edu/~mcollins/notes-spring2013.html http://web.stanford.edu/class/cs224n/syll ...