本节目标

通过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示例的更多相关文章

  1. JAVA中通过Jedis操作Redis连接与插入简单库

    一.简述 JAVA中通过Jedis操作Redis连接与插入简单库 二.依赖 <!-- https://mvnrepository.com/artifact/redis.clients/jedis ...

  2. Java中使用Jedis操作Redis(转载)

    整理 1.字符串 添加:set keyname value 查询:get keyname 拼接:append keyname value 删除:del keyname 添加多个: mset keyna ...

  3. 【转载】Java中使用Jedis操作Redis

    1 package com.test; 2 3 import java.util.HashMap; 4 import java.util.Iterator; 5 import java.util.Li ...

  4. (转)Java中使用Jedis操作Redis

    转自http://www.cnblogs.com/liuling/p/2014-4-19-04.html 使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://file ...

  5. Java中使用Jedis操作Redis

    使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://files.cnblogs.com/liuling/jedis-2.1.0.jar.zip 如果需要使用Redis ...

  6. Redis】Java中使用Jedis操作Redis(Maven导入包)、创建Redis连接池

    如果我们使用Java操作Redis, 需要确保已经安装了 redis 服务及 Java redis 驱动. Maven项目可以直接在pom.xml中加入jedis包驱动: <!-- https: ...

  7. 【JAVA】使用 jedis操作redis——连接、存储数据、切库等

    本篇运用Java调用jedis包(jedis在线文档API ),做简单操作实例. 安装jedis 1. 2.9.0 jar 版本下载: jedis-2.9.0.jar 2. 新建项目,添加该驱动包 连 ...

  8. Java中使用Jedis操作Redis之二

    import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.J ...

  9. <Redis> 入门四 Jedis操作Redis

    pom依赖 <dependencies> <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> < ...

随机推荐

  1. Python把给定的列表转化成二叉树

    在LeetCode上做题时,有很多二叉树相关题目的测试数据是用列表给出的,提交的时候有时会出现一些数据通不过,这就需要在本地调试,因此需要使用列表来构建二叉树,方便自己调试.LeetCode上二叉树结 ...

  2. PHP基础入门(三)【PHP中的数组】

    PHP数组的分类 按照下标的不同,PHP数组分为关联数组与索引数组: 索引数组:下标从0开始,依次增长: 关联数组: 下标为字符串格式,每个下标字符串与数组的值一一关联对应.(有点像对象的键值对) 关 ...

  3. android wear开发之:创建可穿戴设备应用 - Creating Wearable Apps

    注:本文内容来自:https://developer.android.com/training/wearables/apps/index.html 翻译水平有限,如有疏漏,欢迎批评指教. 译:山人 创 ...

  4. Oracle.DataAccess.Client.OracleCommand”的类型初始值设定项引发异常。

    Oracle.DataAccess.Client.OracleCommand”的类型初始值设定项引发异常. 64位系统下,部署32位odp.net,出现问题.解决方法:卸载32位xcopy odt.n ...

  5. python基础(三)----字符编码以及文件处理

      字符编码与文件处理 一.字符编码 由字符翻译成二进制数字的过程   字符--------(翻译过程)------->数字   这个过程实际就是一个字符如何对应一个特定数字的标准,这个标准称之 ...

  6. radis学习总结

    Redis与Memcached的比较. 1.Memcached是多线程,而Redis使用单线程. 2.Memcached使用预分配的内存池的方式,Redis使用现场申请内存的方式来存储数据,并且可以配 ...

  7. 【转】Entity Framework 5.0系列之约定配置

    Code First之所以能够让开发人员以一种更加高效.灵活的方式进行数据操作有一个重要的原因在于它的约定配置.现在软件开发越来复杂,大家也都试图将软件设计的越来越灵活,很多内容我们都希望是可配置的, ...

  8. 如何基于 eolinker 的进行接口管理

    由于工作的原因,经常要接触到很多API接口,而API接口在设计时往往需要编写大量的文档,而且编写完成后往往需要根据实际情况,经常改动文档,这使得文档编写维护工作量相对较大,这让我也包括很多的开发者都很 ...

  9. .NET Core工程编译事件$(TargetDir)变量为空引发的思考

    前言 最近客户反馈,为啥不用xcopy命令代替我自己写的命令来完成插件编译复制: 我的: <PostBuildEvent>call "$(SolutionDir)tools\to ...

  10. 【S2-052】漏洞复现(CVE-2017-9805)

    一.漏洞描述 Struts2 的REST插件,如果带有XStream组件,那么在进行反序列化XML请求时,存在未对数据内容进行有效验证的安全隐患,可能发生远程命令执行. 二.受影响版本 Struts2 ...