JAVA入门[21]-Jedis操作redis示例
本节目标
通过JedisPool获取Jedis示例,并完成对redis 简单的Key-value读写操作。
完整代码结构如下:

redis服务端
在本地运行redis-server.exe,然后在resources新建jedis.properties:
redis.host=localhost
redis.port=
配置jedis
我们将jedis相关配置放在单独的Spring Config中,在resources/spring目录新建applicationContext-jedis.xml。
<!-- 加载配置属性文件 -->
<context:property-placeholder ignore-unresolvable="true" location="classpath*:jedis.properties"/> <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxIdle" value=""/> <!-- 最大能够保持idel状态的对象数 -->
<property name="maxTotal" value=""/> <!-- 最大分配的对象数 -->
<property name="testOnBorrow" value="true"/> <!-- 当调用borrow Object方法时,是否进行有效性检查 -->
</bean> <bean id="jedisPool" class="redis.clients.jedis.JedisPool">
<constructor-arg index="" ref="jedisPoolConfig"/>
<constructor-arg index="" value="${redis.host}" type="java.lang.String"/>
<constructor-arg index="" value="${redis.port}" type="int"/>
</bean>
测试
添加单元测试,通过@Resource注解获取JedisPool实例对象。
@Resource
private JedisPool jedisPool;
然后调用jedisPool对象的getResource()方法就可以获取到Jedis实例了。
Jedis jedis = jedisPool.getResource();
先测试个最基本的get,set操作
@Test
public void TestRedis() {
Jedis jedis = jedisPool.getResource(); String key = "a";
jedis.set(key, "111"); String data = jedis.get(key); System.out.println(data); }
运行结果:111
再测试个列表操作:
@Test
public void testList(){
Jedis jedis=jedisPool.getResource(); String key="articles"; jedis.lpush(key,"文章1");
jedis.lpush(key,"文章2");
jedis.lpush(key,"文章3"); List<String> articles=jedis.lrange(key,0,3);
for(String article:articles){
System.out.println(article);
}
}
运行结果:
文章3
文章2
文章1
再来个集合操作:
@Test
public void testSet(){
Jedis jedis=jedisPool.getResource(); String key="tags";
jedis.sadd(key,"宝马");
jedis.sadd(key,"豪车");
jedis.sadd(key,"SUV");
jedis.sadd(key,"SUV"); Set<String> tags=jedis.smembers(key);
for(String tag:tags){
System.out.println(tag);
}
}
运行结果:
宝马
豪车
SUV
先到这里吧,SO EASY!!
源码地址:https://github.com/cathychen00/learnjava/tree/master/DemoRedis
JAVA入门[21]-Jedis操作redis示例的更多相关文章
- JAVA中通过Jedis操作Redis连接与插入简单库
一.简述 JAVA中通过Jedis操作Redis连接与插入简单库 二.依赖 <!-- https://mvnrepository.com/artifact/redis.clients/jedis ...
- Java中使用Jedis操作Redis(转载)
整理 1.字符串 添加:set keyname value 查询:get keyname 拼接:append keyname value 删除:del keyname 添加多个: mset keyna ...
- 【转载】Java中使用Jedis操作Redis
1 package com.test; 2 3 import java.util.HashMap; 4 import java.util.Iterator; 5 import java.util.Li ...
- (转)Java中使用Jedis操作Redis
转自http://www.cnblogs.com/liuling/p/2014-4-19-04.html 使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://file ...
- Java中使用Jedis操作Redis
使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://files.cnblogs.com/liuling/jedis-2.1.0.jar.zip 如果需要使用Redis ...
- Redis】Java中使用Jedis操作Redis(Maven导入包)、创建Redis连接池
如果我们使用Java操作Redis, 需要确保已经安装了 redis 服务及 Java redis 驱动. Maven项目可以直接在pom.xml中加入jedis包驱动: <!-- https: ...
- 【JAVA】使用 jedis操作redis——连接、存储数据、切库等
本篇运用Java调用jedis包(jedis在线文档API ),做简单操作实例. 安装jedis 1. 2.9.0 jar 版本下载: jedis-2.9.0.jar 2. 新建项目,添加该驱动包 连 ...
- Java中使用Jedis操作Redis之二
import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.J ...
- <Redis> 入门四 Jedis操作Redis
pom依赖 <dependencies> <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> < ...
随机推荐
- Maven 浅谈一
一.Maven的作用 在开发中,为了保证编译通过,我们会到处去寻找jar包,当编译通过了,运行的时候,却发现"ClassNotFoundException",我们想到的是,难道还差 ...
- c++ const全局对象是如何处理的
我主要是记录一个发现,目前我不能解释,先作个记录. const 只是一个 语义约束,由编译器强制实施的.使被约束的对象不能被直接访问修改. 我用 『直接』这词,因为在代码段中 ,用一个const 指针 ...
- C语言实现快速排序法(分治法)
title: 快速排序法(quick sort) tags: 分治法(divide and conquer method) grammar_cjkRuby: true --- 算法原理 分治法的基本思 ...
- [转载] 使用 Twitter Storm 处理实时的大数据
转载自http://www.ibm.com/developerworks/cn/opensource/os-twitterstorm/ 流式处理大数据简介 Storm 是一个开源的.大数据处理系统,与 ...
- SparkStreaming动态读取配置文件
SparkStreaming动态读取配置文件 标签: SparkStreaming HDFS 配置文件 MySql 需求 要实现SparkStreaming在流处理过程中能动态的获取到配置文件的改变 ...
- 深入理解Java内置锁和显式锁
synchronized and Reentrantlock 多线程编程中,当代码需要同步时我们会用到锁.Java为我们提供了内置锁(synchronized)和显式锁(ReentrantLock)两 ...
- servlet+jsp+jdbc实现从数据库查询用户信息到页面
工程创建这里就不在累述了,直接从显示User信息列表开始. 备注:我用的是servlet3的注解功能实现的,所以不需要配置web.xml 这是我的工程目录: 首先我们创建实体类: public cla ...
- Android 在通知栏实现计时功能
Notification是APP 向系统发出通知时,它将先以图标的形式显示在通知栏中.用户可以下拉通知栏查看通知的详细信息.我们可以在通知栏实现自定义的效果,也可以结合service和BroadCas ...
- 2735:八进制到十进制-poj
总时间限制: 1000ms 内存限制: 65536kB 描述 把一个八进制正整数转化成十进制. 输入 一行,仅含一个八进制表示的正整数a,a的十进制表示的范围是(0, 65536). 输出 一行, ...
- 【正则表达式】--python(表示字符)
[前修知识] match :匹配 span:范围 match 是从头往后开始匹配,search不按照顺序,直接获取自己想要的,有就显示,没有就None r 代表反转义,前面也提到过这个知识,如果 ...