这里,我们介绍下如何使用redis作为缓存服务器使用在我们的工程中。

  使用思路

    对于java中的使用redis提供了一个jedis的jar包。我们在安装好我们的redis服务器以后,只需要通过redis提供的jra包的相应方法进行访问就可以得到数据了。为了尽可能的简单,我们就实现用java代码实现对redis的添加和读取。

  创建工程

    首先是创建一个测试的工程

    

    然后,创建一个lib目录引入jar包,我引入的jar包是2.7.2的包,这是一个客户端链接redis的包,同学可以自行从网上下载相应的jar包。

    然后将这个jar包进行build path,然后得到的项目列表如下图:

    

    在我们的jar包引入完成后,就是测试代码的编写了。

  测试

    首先我们创建一个测试的jar包(写不写都行,但是个人习惯把所有的代码都写在包里面),然后写一个jedisTest类。我直接把代码粘上来,具体说明写在代码注释中吧。

    

 package cn.test;

 import org.junit.Test;

 import redis.clients.jedis.Jedis;

 public class JedisTest {
//书写测试类
@Test
public void TestJedis(){
//创建jedis对象,相当于创建了一个客户端和reidis服务器的链接。需要ip和端口号,IP就是安装有redis服务的linux服务器的地址,端口号默认为6379
Jedis jedis= new Jedis("192.168.37.161",6379);
//ping redis服务器,这是它的一个方法,如果服务正常,会回复一个pong
String pong = jedis.ping();
System.out.println("如果服务器可用请返回pong,谢谢合作:"+pong);
//先用第一个键去取一次值,这个时候redis中没有数据返回应该是空的。
String value = jedis.get("key");
System.out.println("第一次访问的时候取到的值="+value);
//将数据存入reidis服务器中
jedis.set("key","第一次存入的值");
//将数据取出
value = jedis.get("key");
System.out.println("存入相应的值以后取到的值="+value);
//关闭和redis的链接
jedis.close();
} }

    测试代码运行完的结果如下:

    

  redis的连接池

    我们刚才也看到了,我们的redis的链接每次都需要创建链接和关闭链接,这是很浪费资源的,所以,我们redis也有链接池的技术。以下为使用连接池的时候的代码,跟之前的测试代码相当类似,这里就不再赘述了。

  

 public class JedisPoolTest {

     public static void main(String[] args) {
// 1. 创建连接池JedisPool
JedisPool jedisPool = new JedisPool("192.168.37.161", 6379); // 2. 从连接池获取连接jedis
Jedis jedis = jedisPool.getResource(); // 3. 使用连接jedis操作redis
jedis.select(2); String pong = jedis.ping();
System.out.println(pong); String key = "jedisPoll";
String setResult = jedis.set(key, "hello redis!");
System.out.println(setResult); String getResult = jedis.get(key);
System.out.println(getResult); // 4.释放资源,每次用完jedis连接,必须close(),指的就是还回连接池
jedis.close(); // 程序结束,销毁连接池
jedisPool.close();
}
}

redis-如何在工程中使用redis的更多相关文章

  1. 用Python来操作redis 以及在Django中使用redis

    什么是Redis? Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure server). Redis的键值可以包 ...

  2. 【redis】spring boot中 使用redis hash 操作 --- 之 使用redis实现库存的并发有序操作

    示例: @Autowired StringRedisTemplate redisTemplate; @Override public void dealRedis(Dealer dealer) { d ...

  3. Redis学习笔记之二 :在Java项目中使用Redis

    成功配置redis之后,便来学习使用redis.首先了解下redis的数据类型. Redis的数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set( ...

  4. 在express项目中使用redis

    在express项目中使用redis 准备工作 安装redis 安装redis桌面管理工具:Redis Desktop Manager 项目中安装redis:npm install redis 开始使 ...

  5. Redis笔记(一):Redis安装教程

    Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. Redis是目前应用最广泛的内存数据存储技术,相比之前的Me ...

  6. redis缓存数据库及Python操作redis

    缓存数据库介绍  NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库,随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站, 特 ...

  7. .NET中使用Redis (二)

    很久以前写了一篇文章 .NET中使用Redis 介绍了如何安装Redis服务端,以及如何在.NET中调用Redis读取数据.本文简单介绍如何设计NoSQL数据库,以及如何使用Redis来存储对象. 和 ...

  8. 转:.NET中使用Redis (二)

    原文来自于:http://blog.jobbole.com/83824/ 原文出处: 寒江独钓   欢迎分享原创到伯乐头条 很久以前写了一篇文章 .NET中使用Redis 介绍了如何安装Redis服务 ...

  9. .NET中使用Redis(二)

    很久以前写了一篇文章 .NET中使用Redis 介绍了如何安装Redis服务端,以及如何在.NET中调用Redis读取数据.本文简单介绍如何设计NoSQL数据库,以及如何使用Redis来存储对象. 和 ...

随机推荐

  1. CodeForces 652A Gabriel and Caterpillar

    简单模拟. #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> ...

  2. 一种比较简单的在USB U盘中访问nandflash的方法

    u8 nandflash_write_buffer[NAND_SERECT_FULL_SIZE]; static int currentBlock = -1; static int currentPa ...

  3. C#基础之操作字符串的方法

    C#基础之操作字符串的方法 C#中封装的对字符串操作的方法很多,下面将常见的几种方法进行总结: 首先定义一个字符串str 1.str.ToCharArray(),将字符串转换成字符数组 2.str.S ...

  4. Thinking in scala (3)----求平方根

    采用“牛顿法”求一个数的平方根 object sqrt { def main(args:Array[String])={ println( sqrt(args(0).toDouble)) }  def ...

  5. poj2886线段树(单点修改,区间查询)

    Who Gets the Most Candies? Time Limit: 5000MS   Memory Limit: 131072K Total Submissions: 11955   Acc ...

  6. 编译Uboot时提示error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory

    在Ubuntu14.04 64位系统中已经安装了libc6:i386的库,编译Uboot时提示error while loading shared libraries: libz.so.1: cann ...

  7. JS 中 Class - 类创建

    Class - 类创建 Class类实现了在JavaScript中声明一个新的类, 并通过构造函数实例化这个类的机制.通过使用Class.create()方法, 你实际上声明了一个新的类, 并定义了一 ...

  8. 【Xilinx-Petalinux学习】-08-OpenAMP系统实现

    openAMP系统实现. 一个核跑Linux,一个核裸跑.     ----->  已经实现. 一个核跑Linux,一个核跑UCOS   ----->  还未实现. Micrium的uco ...

  9. pageX,clientX,offsetX,layerX的那些事

    在各个浏览器的JS中,有很多个让你十分囧的属性,由于各大厂商对标准的解释和执行不一样,导致十分混乱,也让我们这些前端攻城狮十分无语和纠结>_< John Resig大神说过,动态元素有3个 ...

  10. java web几种开发模式(转)

    Java Web开发方案有多种可供选择,这里列举一些经典的开发模式进行横向比较,为Java Web的开发模式选择提供参考.除此之外还有好多方案(如Tapestry和Wicket)并不了解,这里就不列举 ...