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优势多多、速度又超级快、实际开几乎都是用来做缓存同步等!!!








如何使用Spring Boot框架整合Redis:超详细案例教程 成功在 Spring Boot 项目中整合了 Redis 并配置了连接池。我们使用连接池可以显著提高 Redis 操作的性能和资源管理效率。了解了这些基础知识后,接下来将详细介绍如何在Spring Boot项目中整合Redis,包括依赖配置、连接设置、基本操作和应用案例。启动应用程序后,可以选中通过 Postman 或浏览器访问以下 URL,验证 Redis 操作是否成功。将Spring Boot与Redis整合可以充分利用两者的优势,简化开发并提升应用性能。目录下,添加 Redis 连接池的配置。 阅读详情

相关推荐

Spring Session入门与Redis整合实战教程

在现代Java Web应用中,传统的基于Servlet容器的Session管理方式在单体架构下表现良好,但在分布式系统中面临诸多挑战,如Session复制成本高、数据不一致等问题。Spring Session应运而生,旨在提供一种统一、可扩展的会话管理解决方案。其核心思想是通过将Session数据从本地内存中抽离出来,统一存储于如Redis这样的分布式缓存中,从而实现跨服务实例的Session共享。其底层基于Filter链拦截HTTP请求,替换原生的。

weixin_29781865的博客 1129

Jedis整合spring的使用

Jedis有两个对象用来连接redis JedisPool和JedisCluster JedisPool是用来连接单机版的jedis JedisCluster是用来连接集群的 下面我们就来讲讲这两个对象的用法 前提准备 在使用这两个类的时候,我们需要先导入jedis包, 我这个是maven工程,所以我在pom文件中配置、 &lt;!-- Redis客户端 --&gt; &lt...

weixin_38497513的博客 3383

Spring框架整合Redis哨兵模式的实战教程

Spring框架作为Java领域内广泛使用的全能型应用框架,其对缓存技术的支持是其多功能性的体现之一。整合Redis作为缓存解决方案,是现代企业级应用常见的实践。在Spring环境中,Spring Data Redis项目为我们提供了一种简化Redis操作的方式,使得开发者能够更加专注于业务逻辑的实现,而不是复杂的Redis API调用。本章将简要介绍Spring框架整合Redis的基本概念、优势以及如何快速启动一个Spring与Redis整合的项目。

weixin_29301059的博客 573

jedis连接池多线程场景

jedis是redis为java提供的原生API,也是是我们日常开发中常用的,个人日常用的简单总结下 maven pom.xml坐标,引入jar包 &lt;dependency&gt; &lt;groupId&gt;redis.clients&lt;/groupId&gt; &lt;artifactId&gt;jedis&lt;/artifactId&...

星空的风fly 2030

Spring与Redis整合实战案例

Spring框架起源于2003年,由Rod Johnson创建并首次发布,其设计理念旨在简化Java企业级应用开发。Spring的出现,将企业应用开发中常常需要的各种基础服务和功能模块化,以解决企业级应用开发中的许多常见问题。Spring采取控制反转(IoC)和面向切面编程(AOP)等方法,使开发者能够构建松耦合的应用程序。Redis,即Remote Dictionary Server,是一个开源的使用ANSI C编写的高性能键值数据库。

weixin_31185473的博客 918

如何入门强化学习

很多同学在入门强化学习的时候都会遇到困难,那我这里就简单介绍一下应该如何入门强化学习,并以开源代码为例详解强化学习实战。

seeksister的博客 3304

Spring Boot在Windows上整合Redis简单教程

目录 Redis到底是什么? Redis环境搭建 Spring Boot整合Redis Redis到底是什么? Redis是一种基于内存进行存储,支持Key-Value格式的开源存储系统,是跨平台的非关系型数据库,是主流nosql中的一种。底层使用C语言编写, Redis因其丰富的数据结构、极快的速度、齐全的功能而为人所知,在互联网上有非常广泛的应用。 Redis环境搭建 因为本人习惯使用windows作为开发环境,在家的时候无法使用公司的Linux系统服务器,所以就将Redis直接安装在本机

勤杂工的日常 681

Simulink标定工作流优化:当A2L文件遇到ELF,如何用Matlab脚本打通‘最后一公里’?

本文探讨了Simulink标定工作流中A2L与ELF文件处理的自动化解决方案。通过Matlab脚本实现A2L文件智能合并与ELF文件自动匹配,解决了传统手动操作效率低下和易出错的问题,显著提升汽车ECU开发效率。重点介绍了脚本实现细节及持续集成系统集成方案。

weixin_30564785的博客 338

spring boot进阶(一) springboot整合redis,可操作java对象。最完整、简单易懂、详细的spring boot教程。

关于redis的基本操作和对java对象的操作,请见笔者博客。 本文我们介绍springboot整合redis。 首先是pom依赖: &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-data-r...

翻过一座座山 1万+

手把手教你学simulink(16.10)-- 基于Simulink的IIR滤波器(Infinite Impulse Response Filter)项目

基于Simulink的IIR滤波器(Infinite Impulse Response Filter)项目的详细实例介绍。这个项目将重点放在IIR滤波器的设计、实现和仿真上,帮助你理解和应用IIR滤波器在信号处理中的作用。

MHD0815的博客 707

Dify平台隐患url:/console/api/remote-files/upload暴露高危漏洞,配置nginx htpasswd模块认证机制屏蔽解决

内部网络探测: 攻击者可通过SSRF扫描内网服务云元数据访问: 可能访问AWS/Aliyun/腾讯云等元数据服务服务端请求伪造: 以服务器身份发起任意HTTP请求。

CN_Eden 1325

Redis:(二)SpringBoot整合Redis(单机)

1. 引入maven坐标 <!--redis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <!-- lett

xueguchen的博客 254

【C++】开源:ncurses终端TUI文本界面库

ncurses配置使用(TUI)

DevFrank的博客 3173

Spring Boot整合Redis:实现高效发布/订阅功能

Spring Boot整合Redis:实现高效发布/订阅功能 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在现代应用开发中,实时消息传递和事件驱动架构变得越来越重要。为了帮助开发者更好地掌握这一技术,我们推出了一个专门针对Spring Boot整合Redis实现发布/订阅功能的教程配套源码。这个项目不仅提供了详细的代码示例,还通过博客文章的形式,深入浅出地讲解了如何...

gitblog_09774的博客 488

如何给K8S配置一个具有永久有效的kubeconfig

在 Amazon EKS 环境中,Kubernetes 的认证机制与 AWS IAM 深度集成,通过aws-iam-authenticator动态生成临时凭证。这种设计虽然增强了安全性,但给需要持久化凭证的工具链(如 CI/CD 系统中的 KubeVela)带来了挑战。具体表现为:临时凭证失效​​:默认 Token 有效期为 15 分钟至 1 小时;​​IAM 角色限制​​:直接使用aws eks get-token生成的凭证无法持久化

小杨同学的博客 661

银河麒麟高级服务器V11操作系统安装部署zabbix监控平台的实操保姆级教程

本文详细介绍了在《银河麒麟高级服务器V11上安部署Zabbix监控系统的全过程》涵盖了zabbix监控系统涉及到的所有软件安装、参数优化、服务启动验证及防火墙配置等一系列实操。其中关于安装过程报错undefined symbol: usmAES256CiscoPrivProtocol;ares_reinit等依赖库问题进行了详细记录与分析解决;还提供了Web前端中文显示修复方案和Admin密码修改方法。实现监控平台的100%部署上线,实现对业务系统的实时监控,保证业务的稳定运行。

提供C#相关开发 、云计算、运维测试、网络安全相关技术分享与服务,有意向可联系。 532

Spring Boot整合Redis

Redis 基于内存进行存储,支持key-value的存储形式,底层是用C语言进行编写的 基于key-value形式的数据字典,结构简单,没有数据表的概念,直接用键值对形式完成数据的管理。 支持5种数据类型: 字符串 列表 集合 有序集合 哈希 搭建Redis环境 在windows上安装Redis 下载Redis https://github.com/MicrosoftArchive/redis/tags 如不能进入Github,可以到https://download.youkuaiyun.com/downl

zjojk的博客 1万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Spring整合Redis

本文将简要介绍如何在Spring中集成Jedis,配置连接池、数据序列化等内容,并通过封装工具类来优化Redis的使用体验。

懒惰蜗牛的博客 2759

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Spring Boot整合Redis实现简单的分布式锁

随着微服务等分布式架构的快速发展及应用,在很多情况下,我们都会遇到在并发情况下多个线程竞争资源的情况,比如我们耳熟能详的秒杀活动,多平台多用户对同一个资源进行操作等场景等。分布式锁的实现方式有很多种,比如基于数据库、Zookeeper、Redis等,本文我们主要介绍Spring Boot整合Redis实现分布式锁。

Ron.Zheng 1万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Spring 整合 Redis

pom构建: 4.0.0 com.x.redis springredis 0.0.1-SNAPSHOT org.springframework.data spring-data-redis 1.0.2.RELEASE org.springframework spring-test 3.1.2.

天行健,君子以自强不息 18万+

【详解】Spring整合Redis

通过上述步骤,我们成功地在Spring Boot项目中集成了Redis,并实现了基本的数据存储和读取功能。Redis的强大之处在于其高性能和丰富的数据结构支持,这使得它成为缓存和消息队列等场景的理想选择。希望本文对大家有所帮助,如果有任何问题或建议,欢迎留言交流!以上就是关于Spring整合Redis的技术博客文章,希望能对你的学习和工作有所帮助。当然可以!Spring框架与Redis的整合在现代Web应用中非常常见,特别是在需要缓存数据以提高性能的情况下。

牛肉胡辣汤 1973

spring boot 整合redis

1.简介spring boot提供了spring-data-redis库来整合redis的操作,并通过简单的配置信息实现与redis的整合。2.准备工作安装redis缓存数据库,安装可视化工具,推荐使用:rdm。3.redis简介REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使

深存少年梦 7134

Redis基础二(spring整合redis)

​ 在开中某些方法查询的结果要放到缓存中(redis),下一次再调用该方法查询的时候先缓存中查找,如果缓存中有数据就直接返回,否则从关系型数据库中去查询数据。

LiuCJ_20000的博客 2677

不要再找了,Java操作Redis、Spring整合Redis及SpringBoot整合Redis这里都有

redis   

爱读史的小马的博客 1887
上一篇: Mybatis的mapper.xml文件详解
下一篇: Redis+Spring 整合应用教程
AndyChen9988
博客等级 码龄11年 276粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值