`
实学实战
  • 浏览: 15613 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
文章分类
社区版块
存档分类
最新评论

Redis 与 spring 整合简单教程

 
阅读更多
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与Spring整合,可以充分利用Redis的高速存储优势,提升应用程序的性能。本文将深入探讨如何进行Redis与Spring的整合,并详细解析整合过程中的关键步骤。 首先,我们要理解Spring对数据源的支持。Spring提供...

    redis与spring整合

    总的来说,"redis与spring整合"项目展示了如何在Spring环境中利用Redis进行高效的数据缓存,通过注解简化开发流程,并结合MyBatis实现数据库操作与缓存的协同。这不仅提高了应用性能,还增强了系统的可维护性和扩展...

    redis与spring的整合

    将Redis与Spring整合,可以充分利用Redis的高速缓存能力,提升应用程序的性能。本文将详细介绍如何在Spring应用中集成Redis,以及如何操作String、list、set、map四种基本数据类型。 一、整合步骤 1. **环境配置**...

    redis和spring整合,redis集群

    下面我们将深入探讨 Redis 与 Spring 的整合以及 Redis 集群的实现。 **Redis 与 Spring 的整合** 1. **引入依赖**: 首先,你需要在项目中添加 Redis 和 Spring Data Redis 相关的依赖。如果是 Maven 项目,可以在...

    redis与spring整合工程

    redis与spring整合工程,使用redisTemplate操作redis,导入eclipse可以直接使用。

    SpringCloud整合Redis

    SpringCloud整合Redis缓存;版本:SpringCloud :Dalston.SR4;SpringBoot:1.5.14.RELEASE;Redis:3.2.0;Maven :3.5.3.代码下载下来即可用

    maven+springmvc+redis+mybatis整合

    通过Spring Data Redis模块,可以轻松地与Spring MVC进行交互,实现对Redis的操作,例如设置、获取和删除键值。 MyBatis是一个持久层框架,它允许开发者编写SQL语句并将其与Java代码分离。MyBatis通过XML或注解配置...

    Redis和Spring的整合包

    这个"Redis+spring-data-redis jar包"整合包就是为了解决将Redis与Spring框架无缝结合的需求。 在Spring框架中整合Redis,首先需要引入`spring-data-redis`的依赖,这个jar包包含了Spring对Redis的各种支持。Jedis...

    Spring3.0整合redis相关jar

    2. `spring-data-redis.jar`: Spring Data Redis是Spring框架的一部分,它为Redis提供了Spring的模板和Repository支持,使得与Redis的交互更加简单和直观。 3. `lettuce.jar` (可选): Lettuce是另一个Redis客户端,...

    Spring mvc整合redis实例(redis连接池)

    将Spring MVC与Redis结合,可以有效提升应用的响应速度和数据处理能力。本文将详细介绍如何在Spring MVC中整合Redis,并利用连接池来优化性能。 首先,我们需要引入Redis的相关依赖。在Maven项目中,可以在pom.xml...

    redis cluster spring整合代码

    5. **测试代码**:在`RedisDemo`中,可能会有测试类或者方法,用来验证Redis集群与Spring的整合是否成功,例如存储和检索数据,检查数据分布情况,以及进行故障转移的测试。 6. **数据分布与槽管理**:由于是关于...

    spring-session-redis/spring整合redis管理session依赖jar包

    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

    Spring+Struts2+hibernate+Redis整合

    将SSH与Redis整合,可以提升应用程序的性能和响应速度。下面将详细阐述这个整合过程中的关键知识点。 1. **Spring框架**:Spring是企业级Java应用的核心框架,它提供了依赖注入(DI)和面向切面编程(AOP)等核心特性,...

    Redis Spring 整合 demo

    Redis Spring 整合 Demo 是一个将 Redis 数据库与 Spring 框架集成的实际示例,旨在帮助开发者了解如何在 Spring 应用程序中利用 Redis 提供高效的数据缓存功能。Redis 是一个开源的、高性能的键值存储系统,常用于...

    spring整合redis

    本文将深入探讨如何将Spring与Redis进行整合,为新手提供一个简单易懂的实践指南。 一、Spring与Redis整合的背景及优势 Spring框架提供了丰富的集成支持,使得与其他技术的整合变得非常方便。整合Spring和Redis...

    Redis与Spring+Maven整合,附整合过程教学文档

    本教程将介绍如何利用Maven构建项目,将Redis、Spring、Mybatis以及SpringMVC整合到一起,同时涵盖两种不同的整合方式:注解方式和配置文件方式。 首先,我们需要在项目中引入必要的依赖。使用Maven管理项目时,...

    spring整合redis项目

    综上所述,"spring整合redis项目"主要涵盖了Spring与Redis的集成,包括配置、API使用、测试以及缓存管理等多个方面。通过这样的整合,开发者可以充分利用Redis的性能优势,提高应用的响应速度和并发能力。

    spring-redis-mysql整合

    4. **Spring整合Mybatis**:Mybatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。Spring与Mybatis结合,可以通过Spring的IoC容器管理Mybatis的SqlSessionFactory和Mapper接口,简化数据库操作。...

    详解redis与spring的整合(使用缓存)

    Redis 和 Spring 的整合主要涉及到如何在 Spring 应用中利用 Redis 实现缓存功能,以减轻数据库的负担。本文将详细介绍这一过程。 首先,我们来理解整合的目标。使用 Redis 缓存数据的主要目的是减少对数据库的频繁...

    spring redis-cluster 整合

    本文将深入探讨如何在Spring MVC项目中整合Spring与Redis集群。 首先,让我们理解什么是Redis集群。Redis集群是一种分布式解决方案,通过将数据分片到多个节点上,实现了数据的水平扩展。每个节点都包含一部分数据...

Global site tag (gtag.js) - Google Analytics