当前位置:   article > 正文

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

idea中 redis

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配置文件:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:p="http://www.springframework.org/schema/p"
  5. xmlns:context="http://www.springframework.org/schema/context"
  6. xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
  7. xmlns:mvc="http://www.springframework.org/schema/mvc"
  8. xsi:schemaLocation="http://www.springframework.org/schema/beans
  9. http://www.springframework.org/schema/beans/spring-beans.xsd
  10. http://www.springframework.org/schema/mvc
  11. http://www.springframework.org/schema/mvc/spring-mvc.xsd
  12. http://code.alibabatech.com/schema/dubbo
  13. http://code.alibabatech.com/schema/dubbo/dubbo.xsd
  14. http://www.springframework.org/schema/context
  15. http://www.springframework.org/schema/context/spring-context.xsd">
  16. <!--Jedis连接池的相关配置
  17. 定义一个名为jedisPoolConfig的bean,其类型为redis.clients.jedis.JedisPoolConfig
  18. 即Jedis连接池的配置类-->
  19. <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
  20. <property name="maxTotal">
  21. <value>200</value>
  22. </property>
  23. <property name="maxIdle">
  24. <value>50</value>
  25. </property>
  26. <property name="testOnBorrow" value="true"/>
  27. <property name="testOnReturn" value="true"/>
  28. </bean>
  29. <!-- Jedis连接池实例化部分
  30. 构造此连接池时,通过构造函数传入四个参数-->
  31. <bean id="jedisPool" class="redis.clients.jedis.JedisPool">
  32. <constructor-arg name="poolConfig" ref="jedisPoolConfig" />
  33. <constructor-arg name="host" value="127.0.0.1" />
  34. <constructor-arg name="port" value="6379" type="int" />
  35. <constructor-arg name="timeout" value="30000" type="int" />
  36. </bean>
  37. </beans>

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

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

web.xml加载spring容器

  1. <!DOCTYPE web-app PUBLIC
  2. "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  3. "http://java.sun.com/dtd/web-app_2_3.dtd" >
  4. <web-app>
  5. <display-name>Archetype Created Web Application</display-name>
  6. <!-- 加载spring容器 -->
  7. <context-param>
  8. <param-name>contextConfigLocation</param-name>
  9. <param-value>classpath*:applicationContext*.xml</param-value>
  10. </context-param>
  11. <listener>
  12. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  13. </listener>
  14. </web-app>

配置完成后,新建class类:

添加方法[sadd]

  1. package com.softeem.test;
  2. import org.springframework.context.support.ClassPathXmlApplicationContext;
  3. import redis.clients.jedis.JedisPool;
  4. import java.util.Set;
  5. /*
  6. 测试一下redis中的添加,删除,差集,方法
  7. */
  8. public class RedisTest {
  9. public static void main(String[] args) {
  10. // 初始化Spring应用上下文对象
  11. // 这行代码创建了一个ClassPathXmlApplicationContext对象,它会在类路径下查找所有匹配applicationContext-*.xml模式的XML配置文件,并加载这些文件来配置Spring容器。
  12. ClassPathXmlApplicationContext ac =
  13. new ClassPathXmlApplicationContext("classpath:applicationContext-*.xml");
  14. // 从Spring容器中获取已配置好的JedisPool bean
  15. JedisPool jedisPool = ac.getBean("jedisPool", JedisPool.class);
  16. jedisPool.getResource().sadd("names3", "小明", "小红", "小花", "小刚");
  17. jedisPool.getResource().sadd("names4", "小明", "小红");
  18. }
  19. }

可在redis程序页面上看见

删除 [rem]:

差集sdiff:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/560985
推荐阅读
相关标签
  

闽ICP备14008679号