对Redis的安装及使用,idea上的配置--保姆级教程

本文探讨了Redis作为非关系型数据库在性能、实时性、缓存和高并发方面的优势,以及与关系型数据库MySQL在数据持久化、数据模型和查询能力、容量成本及适用场景的对比。同时,展示了如何在Spring框架中通过Jedis进行Redis操作的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Redis是一种高级的、开源的、基于内存的键值存储系统,它也可以被认为是一种数据结构服务器,因为键可以关联到五种不同的数据结构:字符串、哈希表、列表、集合、有序集合。

Redis以其高性能、灵活性和丰富的数据结构支持而著称,数据不仅存储在内存中以实现快速访问,同时也支持持久化机制(例如RDB和AOF),保证即使在服务器重启时数据也不会丢失。

Redis支持多种编程语言的客户端,常用于缓存、消息队列、实时排行榜、社交网络、游戏开发等多个场景,尤其在需要高性能、低延迟的数据读写操作中表现优异。

在日后开发中,选用的基本都是非关系型数据库,例如:Redis、MongoDB、NoSql。

那么非关系型数据库Redis与关系型数据库mysql相比优势:

1、性能优势:

  • 内存存储:Redis将数据存储在内存中,使得读写操作具有非常高的性能,响应时间通常是微秒级别,特别适合对性能要求极高的场景,如高速缓存、实时排行榜、计数器等。
  • 数据结构丰富:Redis 支持多种数据结构,如字符串、哈希、列表、集合、有序集合等,可以满足复杂的应用场景需求,简化开发工作。

2、实时性:

  • Redis 可以提供实时的数据更新和查询,对于需要实时数据同步的场景非常适合。

3、缓存功能:

  • Redis 被广泛应用于缓存层,减轻数据库负载,加速数据访问。它可以快速地将热点数据存储在内存中,减少对数据库的直接读取,提升整体系统的性能。

4、高并发能力:

  • Redis 具备优秀的并发处理能力,能有效应对大规模并发请求,尤其是读密集型操作。

5、分布式支持:

  • Redis 支持主从复制、哨兵模式、集群模式等,能够构建高可用、可扩展的分布式缓存和存储系统。

相比之下,MySQL 是一种关系型数据库管理系统,它与 Redis 的区别主要有:

  1. 数据持久化
    • MySQL 数据默认存储在硬盘上,数据更加持久稳定,不会因为服务器重启或故障丢失数据(除非未做备份或同步)。
    • Redis 提供了 RDB 快照和 AOF 日志两种持久化机制,但其首要定位还是内存数据库,虽然也能持久化数据,但在数据安全性方面不如 MySQL 那样可靠。
  1. 数据模型和查询能力
    • MySQL 支持 SQL 查询语句,拥有强大的 ACID 特性,适用于复杂的事务处理和高度结构化的数据存储。
    • Redis 不支持 SQL 语句,但它支持丰富的数据结构操作命令,更适合简单的数据操作和快速查找。
  1. 容量与成本
    • MySQL 受限于磁盘存储,理论上可以无限扩容,成本相对较低。
    • Redis 的存储受限于内存大小,虽然可以利用虚拟内存或其他手段来扩展,但受物理内存限制,且内存的成本相对较高。
  1. 适用场景
    • MySQL 适用于需要持久化大量数据、高度一致性和复杂查询的场合,如传统的后台管理系统、ERP、CRM等。
    • Redis 更适合缓存、实时计算、会话存储、消息队列、排行榜等需要快速读写的场景。

如何使用Redis,Redis的安装下载

首先将如下两个安装包下载到电脑

链接:百度网盘 请输入提取码

提取码:9999

下载好之后

我们要使用redis数据库时候,一定要先启动redis-server.exe,双击即可启动:

另一个是快捷程序,下载好直接双击打开可以看到如下页面:

新建数据库

新建键值对

JavaAPI操作Redis,对数据库进行增删改查

1、新建一个maven工程,

Spring框架中用来配置Jedis连接池以及相关Redis连接参数的xml文件

新建applicationContext-redis.xml配置文件:

<?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:p="http://www.springframework.org/schema/p"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                         http://www.springframework.org/schema/beans/spring-beans.xsd
        				http://www.springframework.org/schema/mvc
                          http://www.springframework.org/schema/mvc/spring-mvc.xsd
        				http://code.alibabatech.com/schema/dubbo
                          http://code.alibabatech.com/schema/dubbo/dubbo.xsd
        				http://www.springframework.org/schema/context
                          http://www.springframework.org/schema/context/spring-context.xsd">

    <!--Jedis连接池的相关配置
    定义一个名为jedisPoolConfig的bean,其类型为redis.clients.jedis.JedisPoolConfig
    即Jedis连接池的配置类-->
    <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <property name="maxTotal">
            <value>200</value>
        </property>
        <property name="maxIdle">
            <value>50</value>
        </property>
        <property name="testOnBorrow" value="true"/>
        <property name="testOnReturn" value="true"/>
    </bean>
  <!-- Jedis连接池实例化部分
    构造此连接池时,通过构造函数传入四个参数-->
    <bean id="jedisPool" class="redis.clients.jedis.JedisPool">
        <constructor-arg name="poolConfig" ref="jedisPoolConfig" />
        <constructor-arg name="host" value="127.0.0.1" />
        <constructor-arg name="port" value="6379" type="int" />
        <constructor-arg name="timeout" value="30000" type="int" />
    </bean>
</beans>

这段配置文件创建了一个Jedis连接池实例,并对其配置进行了详细的定制,包括最大连接数、最大空闲连接数、连接有效性检测策略以及Redis服务的基本连接参数。

在实际应用中,通过Spring容器,可以通过getBean("jedisPool")的方式获取到这个配置好的连接池实例,进而高效、安全地访问Redis数据库。

web.xml加载spring容器

<!DOCTYPE web-app PUBLIC
        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <!-- 加载spring容器 -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath*:applicationContext*.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
</web-app>

配置完成后,新建class类:

添加方法[sadd]

package com.softeem.test;

import org.springframework.context.support.ClassPathXmlApplicationContext;
import redis.clients.jedis.JedisPool;

import java.util.Set;

/*
测试一下redis中的添加,删除,差集,方法
 */
public class RedisTest {
    public static void main(String[] args) {
        // 初始化Spring应用上下文对象
        // 这行代码创建了一个ClassPathXmlApplicationContext对象,它会在类路径下查找所有匹配applicationContext-*.xml模式的XML配置文件,并加载这些文件来配置Spring容器。
        ClassPathXmlApplicationContext ac =
                new ClassPathXmlApplicationContext("classpath:applicationContext-*.xml");

        // 从Spring容器中获取已配置好的JedisPool bean
        JedisPool jedisPool = ac.getBean("jedisPool", JedisPool.class);

        jedisPool.getResource().sadd("names3", "小明", "小红", "小花", "小刚");
        jedisPool.getResource().sadd("names4", "小明", "小红");
    }
}

可在redis程序页面上看见

删除 [rem]:

差集sdiff:

<think>好的,我现在需要帮助用户找到关于若依框架环境搭建的保姆教程。根据用户提供的引用内容,看起来有多个相关的教程,我需要整理这些信息,并按照用户的要求用中文回答,同时遵循系统指令中的格式要求。 首先,用户提到了四个引用,其中引用[1]、[3]、[4]都直接涉及若依框架的搭建教程。引用[2]虽然主要关于SSM框架整合,但提到了依赖缺失的问题,可能在某些情况下对若依的搭建也有参考价值,不过可能相关性较低,暂时先不考虑。 接下来,我需要将这些引用的内容整合成一个结构清晰的回答,分步骤说明环境搭建的流程。根据引用[1]和[3],若依框架是基于SpringBoot、Vue等的前后端分离系统,搭建步骤大致包括环境准备、获取代码、配置后端、配置前端、启动项目等。引用[4]提到需要确保前后端版本一致,这一点需要强调。 同时,用户需要生成相关问题,我需要根据教程内容提出可能的相关问题,例如环境配置问题、依赖缺失处理、前后端分离注意事项等。 在整理过程中,要确保所有数学表达式或代码块按照系统指令的格式处理,但当前问题主要是环境搭建,可能涉及代码块,例如Maven依赖、npm命令等,需要正确使用代码块格式。同时,引用标识要自然地添加在引用的段落末尾。 现在需要检查是否有遗漏的步骤或常见问题,比如数据库配置、依赖安装错误等,这些可能在教程中有提到。例如引用[2]中提到的依赖缺失问题,虽然属于SSM框架,但如果在若依搭建过程中出现类似问题,可能需要检查依赖配置。 最后,生成的相关问题需要与若依框架搭建相关,可能涉及部署、优化、常见错误处理等。</think>### 若依框架环境搭建保姆教程 若依框架是基于$SpringBoot$和$Vue$的前后端分离权限管理系统,以下是详细搭建步骤: --- #### **1. 环境准备** - **后端环境**:JDK 1.8+、Maven 3.6+、MySQL 5.7+、Redis 5.0+ - **前端环境**:Node.js 14+、npm/yarn(推荐使用淘宝镜像加速) - **开发工具**:IntelliJ IDEA(后端)、VS Code(前端)[^3][^4] --- #### **2. 获取项目代码** 从Gitee仓库克隆代码(选择前后端版本一致的代码分支): ```bash git clone https://gitee.com/zhijiantianya/ruoyi-vue-pro.git ``` 注意:若使用Vue3版本,需确保前后端版本匹配[^4]。 --- #### **3. 后端配置与启动** 1. **导入项目**:用IDEA打开`ruoyi-vue-pro`后端项目,等待Maven依赖自动下载。 2. **数据库配置**: - 创建MySQL数据库(如`ry-vue-pro`) - 修改配置文件`src/main/resources/application-druid.yml`中的数据库连接信息: ```yaml url: jdbc:mysql://localhost:3306/ry-vue-pro?useUnicode=true username: root password: 123456 ``` 3. **Redis配置**:修改`application.yml`中的Redis地址和端口[^1]。 4. **启动项目**:运行`RuoYiApplication.java`主类,访问`http://localhost:8080`验证后端是否成功[^3]。 --- #### **4. 前端配置与启动** 1. **安装依赖**:进入前端项目目录(如`ruoyi-ui`),执行: ```bash npm install --registry=https://registry.npm.taobao.org ``` 2. **修改接口地址**:在`.env.development`文件中配置后端API地址: ```bash VUE_APP_BASE_API = 'http://localhost:8080' ``` 3. **启动前端**:执行`npm run dev`,访问`http://localhost:80`进入管理系统[^4]。 --- #### **常见问题解决** - **依赖缺失**:若启动报错`aspectjweaver`缺失,需手动添加依赖(参考SSM框架的类似处理方式): ```xml <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.13</version> </dependency> ``` [^2] - **端口冲突**:修改`application.yml`中的`server.port`调整后端端口。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值