目录
Redis简介
1、概念:
Redis是开源免费,高性能的key-value数据库
2、特点/优势:
Redis支持数据持久化:将内存中的数据保存在磁盘中
Redis支持key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储
Redis支持master-slave模式的数据库备份
性能极高-Redis能读的速度是110000次/s,写的速度是81000次/s
Redis的所有操作都是原子性的,单个操作是原子性的,多个操作也支持事务!
Redis还支持publish/subscribe,通知,key过期等特
Jedis简介
那jedis就是集成了redis的一些命令操作,封装了redis的java客户端。提供了连接池管理。
Java中通过jedis使用Redis服务方式一-性能差
1、开始在Java中使用 Redis前,我们需要确保已经安装了redis服务(可点击查看:Linux或Windows上安装了Redis)及Java redis驱动(引入redis的jar包),且你的机器上能正常使用Java。在这里说下如何引用java redis的驱动
(1)下载redis驱动包:http://repo1.maven.org/maven2/redis/clients/jedis/
(2)如果是Maven工程,则在pom文件中配置
<!-- Redis客户端 -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>${jedis.version}</version>
</dependency>
2、在项目中新建测试类
package cn.e3mall.jedis;
import org.junit.Test;
import redis.clients.jedis.Jedis;
public class JedisTest {
@Test
public void testJedis() throws Exception{
//创建一个链接Jedis对象,参数:host,port
Jedis jedis=new Jedis("192.168.25.128",6379);
//也可连接本地的redis服务:Jedis jedis = new Jedis("localhost");
//直接使用jedis操作redis,所有jedis的命令都对应要给方法
jedis.set("test123","my first jedis test");
String string=jedis.get("test123");
System.out.println(string);
//关闭链接
jedis.close();
}
}
3、运行测试类
结果展示:
这个时候要思考下,为什么上面这种方式性能差?怎么改善?原因是,每次都要new一个jedis对象,jedis和jedispool的关系就像数据库连接和数据库连接池的关系!
Java中通过JedisPool获取Jedis对象使用Redis服务
package cn.e3mall.jedis;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
public class JedisTest {
@Test
public void testJedisPool() throws Exception{
//创建一个连接池对象,两个参数host.port
JedisPool jedisPool=new JedisPool("192.168.25.128",6379);
//从连接池获得一个链接,就是一个jedis对象
Jedis jedis=jedisPool.getResource();
//使用jedis操作redis
String string=jedis.get("test123");
System.out.println(string);
//关闭链接,每次使用完毕后关闭链接,连接池回收资源
jedis.close();
//关闭连接池
jedisPool.close();
}
}
小结
在java中使用的入门demo已经完成,第二种比第一种好些,但依旧不是最优雅的!java中一般不直接使用jedis,而是在其上在封装一层,作为业务的使用。如果用spring的话,可以看看spring 封装的 redis Spring Data Redis。如果对你有帮助的话,记得给小编点个赞哦?!