Jedis——Redis在java中的使用(单机版)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LyySwx/article/details/86881889

目录

Redis简介

Java中使用Redis服务


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。如果对你有帮助的话,记得给小编点个赞哦👍!

展开阅读全文

没有更多推荐了,返回首页