REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
- 性能极高– Redis能读的速度是110000次/s,写的速度是81000次/s 。
- 丰富的特性– Redis还支持 publish/subscribe, 通知, key 过期等等特性。
2、redis安装
安装的前提条件(redis C编写的):
需要安装gcc:yum install gcc-c++
2.1、下载redis的源码包。
2.2、把源码包上传到linux服务器
2.3、解压源码包:tar -zxvf redis-3.0.0.tar.gz
2.4、Make
2.5、Make install
[root@bogon redis-3.0.0]# make install PREFIX=/usr/local/redis(安装目录)
3、启动redis
3.1、前端启动模式
进入安装目录:./redis-server
默认是前端启动模式,端口是6379
3.2、后端启动
1)从redis的源码目录中复制redis.conf到redis的安装目录。
2)修改配置文件
[root@localhost]# ./redis-server redis.conf
4、redis简单应用(有单机单机测试、有整合spring测试、看注释)
package org.chenzhengyou.redis.jedis;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisPool;
import java.util.HashSet;
/**
* @auther 陈郑游
* @create 2016/12/17 0017
* @description: redis测试:
* @problem:
* @company address:
* @Modify the time again:
* @Modify the author again:
*/
public class JedisTest {
private static final String RedisAddress = "192.168.29.131";
private static final int RedisPort = 6379;
/**
* jdies
*/
@Test
public void jedis() {
//创建一个jedis的对象。
Jedis jedis = new Jedis(RedisAddress, RedisPort);
//调用jedis对象的方法,方法名称和redis的命令一致。
jedis.set("key1", "jedis test");
String string = jedis.get("key1");
System.out.println(string);
//关闭jedis。
jedis.close();
}
/**
* jdies连接池(JedisPool)
*/
@Test
public void jedis01() {
JedisPool jedisPool = new JedisPool(RedisAddress, RedisPort);
Jedis jedis = jedisPool.getResource();
jedis.set("czy", "chenzhengyou");
System.out.println(jedis.get("czy"));
jedis.close();
jedisPool.close();
}
/**
* 整合测试:单机版测试
*/
@Test
public void testSpring() {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring/application-jedis.xml");
JedisPool pool = (JedisPool) applicationContext.getBean("redisClient");
Jedis jedis = pool.getResource();
String string = jedis.get("key1");
System.out.println(string);
jedis.close();
pool.close();
}
}
4.2、application-jedis.xml(与spring整合)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:property-placeholder location="classpath:config/jedis.properties" />
<!-- 连接池配置 -->
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<!-- 最大连接数 -->
<property name="maxTotal" value="30" />
<!-- 最大空闲连接数 -->
<property name="maxIdle" value="10" />
<!-- 每次释放连接的最大数目 -->
<property name="numTestsPerEvictionRun" value="1024" />
<!-- 释放连接的扫描间隔(毫秒) -->
<property name="timeBetweenEvictionRunsMillis" value="30000" />
<!-- 连接最小空闲时间 -->
<property name="minEvictableIdleTimeMillis" value="1800000" />
<!-- 连接空闲多久后释放, 当空闲时间>该值 且 空闲连接>最大空闲连接数 时直接释放 -->
<property name="softMinEvictableIdleTimeMillis" value="10000" />
<!-- 获取连接时的最大等待毫秒数,小于零:阻塞不确定的时间,默认-1 -->
<property name="maxWaitMillis" value="1500" />
<!-- 在获取连接的时候检查有效性, 默认false -->
<property name="testOnBorrow" value="true" />
<!-- 在空闲时检查有效性, 默认false -->
<property name="testWhileIdle" value="true" />
<!-- 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true -->
<property name="blockWhenExhausted" value="false" />
</bean>
<!-- jedis客户端单机版 -->
<bean id="redisClient" class="redis.clients.jedis.JedisPool">
<constructor-arg value="${jedis.host}"></constructor-arg>
<constructor-arg value="${jedis.port}"></constructor-arg>
<constructor-arg name="poolConfig" ref="jedisPoolConfig"></constructor-arg>
</bean>
</beans>
4.3、jedis.properties配置文件
jedis.host=192.168.29.131
#单机端口
jedis.port=6379
5、推荐教程
以后更新会spring整合的缓存同步案例!!!
redis优势多多、速度又超级快、实际开几乎都是用来做缓存同步等!!!
分享到:
相关推荐
将Redis与Spring整合,可以充分利用Redis的高速存储优势,提升应用程序的性能。本文将深入探讨如何进行Redis与Spring的整合,并详细解析整合过程中的关键步骤。 首先,我们要理解Spring对数据源的支持。Spring提供...
总的来说,"redis与spring整合"项目展示了如何在Spring环境中利用Redis进行高效的数据缓存,通过注解简化开发流程,并结合MyBatis实现数据库操作与缓存的协同。这不仅提高了应用性能,还增强了系统的可维护性和扩展...
将Redis与Spring整合,可以充分利用Redis的高速缓存能力,提升应用程序的性能。本文将详细介绍如何在Spring应用中集成Redis,以及如何操作String、list、set、map四种基本数据类型。 一、整合步骤 1. **环境配置**...
下面我们将深入探讨 Redis 与 Spring 的整合以及 Redis 集群的实现。 **Redis 与 Spring 的整合** 1. **引入依赖**: 首先,你需要在项目中添加 Redis 和 Spring Data Redis 相关的依赖。如果是 Maven 项目,可以在...
redis与spring整合工程,使用redisTemplate操作redis,导入eclipse可以直接使用。
SpringCloud整合Redis缓存;版本:SpringCloud :Dalston.SR4;SpringBoot:1.5.14.RELEASE;Redis:3.2.0;Maven :3.5.3.代码下载下来即可用
通过Spring Data Redis模块,可以轻松地与Spring MVC进行交互,实现对Redis的操作,例如设置、获取和删除键值。 MyBatis是一个持久层框架,它允许开发者编写SQL语句并将其与Java代码分离。MyBatis通过XML或注解配置...
这个"Redis+spring-data-redis jar包"整合包就是为了解决将Redis与Spring框架无缝结合的需求。 在Spring框架中整合Redis,首先需要引入`spring-data-redis`的依赖,这个jar包包含了Spring对Redis的各种支持。Jedis...
将Spring MVC与Redis结合,可以有效提升应用的响应速度和数据处理能力。本文将详细介绍如何在Spring MVC中整合Redis,并利用连接池来优化性能。 首先,我们需要引入Redis的相关依赖。在Maven项目中,可以在pom.xml...
2. `spring-data-redis.jar`: Spring Data Redis是Spring框架的一部分,它为Redis提供了Spring的模板和Repository支持,使得与Redis的交互更加简单和直观。 3. `lettuce.jar` (可选): Lettuce是另一个Redis客户端,...
5. **测试代码**:在`RedisDemo`中,可能会有测试类或者方法,用来验证Redis集群与Spring的整合是否成功,例如存储和检索数据,检查数据分布情况,以及进行故障转移的测试。 6. **数据分布与槽管理**:由于是关于...
commons-pool2-2.3.jar,jedis-2.8.0.jar,spring-data-redis-1.6.0.RELEASE.jar,spring-session-1.1.1.RELEASE.jar,Spring-data-redis(Version 1.6.0.RC1)中文版.pdf
Redis Spring 整合 Demo 是一个将 Redis 数据库与 Spring 框架集成的实际示例,旨在帮助开发者了解如何在 Spring 应用程序中利用 Redis 提供高效的数据缓存功能。Redis 是一个开源的、高性能的键值存储系统,常用于...
本文将深入探讨如何将Spring与Redis进行整合,为新手提供一个简单易懂的实践指南。 一、Spring与Redis整合的背景及优势 Spring框架提供了丰富的集成支持,使得与其他技术的整合变得非常方便。整合Spring和Redis...
本教程将介绍如何利用Maven构建项目,将Redis、Spring、Mybatis以及SpringMVC整合到一起,同时涵盖两种不同的整合方式:注解方式和配置文件方式。 首先,我们需要在项目中引入必要的依赖。使用Maven管理项目时,...
综上所述,"spring整合redis项目"主要涵盖了Spring与Redis的集成,包括配置、API使用、测试以及缓存管理等多个方面。通过这样的整合,开发者可以充分利用Redis的性能优势,提高应用的响应速度和并发能力。
将SSH与Redis整合,可以提升应用程序的性能和响应速度。下面将详细阐述这个整合过程中的关键知识点。 1. **Spring框架**:Spring是企业级Java应用的核心框架,它提供了依赖注入(DI)和面向切面编程(AOP)等核心特性,...
4. **Spring整合Mybatis**:Mybatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。Spring与Mybatis结合,可以通过Spring的IoC容器管理Mybatis的SqlSessionFactory和Mapper接口,简化数据库操作。...
Redis 和 Spring 的整合主要涉及到如何在 Spring 应用中利用 Redis 实现缓存功能,以减轻数据库的负担。本文将详细介绍这一过程。 首先,我们来理解整合的目标。使用 Redis 缓存数据的主要目的是减少对数据库的频繁...
本文将深入探讨如何在Spring MVC项目中整合Spring与Redis集群。 首先,让我们理解什么是Redis集群。Redis集群是一种分布式解决方案,通过将数据分片到多个节点上,实现了数据的水平扩展。每个节点都包含一部分数据...