0


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

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:


本文转载自: https://blog.csdn.net/m0_66111719/article/details/137168888
版权归原作者 小路的蹊 所有, 如有侵权,请联系我们删除。

“对Redis的安装及使用,idea上的配置--保姆级教程”的评论:

还没有评论