当前位置: 首页 > article >正文

Redis和Jedis的区别

目录

含义与用途

Jedis案例

总结


含义与用途

Redis:

  • 概念:Redis是一个基于内存的键值存储数据库,支持丰富的数据结构。比如:字符串
  • 功能:除了基础的数据存储,Redis还提供了丰富的高级功能。如持久化(RDB、AOF)、发布/订阅、Lua脚

    本、事务、主从同步数据等
  • 用途:Redis广泛用于缓存、消息队列、会话信息存储等

Jedis:

  • 概念:Jedis是Redis的一个Java客户端,用于在Java程序中与Redis服务进行交互
  • 功能:Jedis提供了与Redis通信相关的API,支持几乎所有的命令。它能够处理基本的数据操作以及复杂的场景功能,如事务、订阅/发布、Lua脚本等
  • 用途:Jedis 用于在 Java 应用中连接和操作 Redis,帮助开发者在 Java 环境下轻松集成 Redis 功能

  • 本质区别:
    • Redis 是一个数据库系统(服务端)
    • Jedis 是 Redis 的 Java 客户端(库或工具)
  • 使用方式:
    • Redis 是需要安装和运行的服务器,用于数据存储和管理
    • Jedis 是 Java 应用中的一个库,开发者通过它来与 Redis 服务器进行通信

Jedis案例

引入Maven依赖

        <dependency>
			<groupId>redis.clients</groupId>
			<artifactId>jedis</artifactId>
			<version>3.6.3</version>
		</dependency>

测试类

    public static void main(String[] args) {
        // 创建一个Jedis实例,这里假设Redis服务器运行在本地默认端口6379上
        try (Jedis jedis = new Jedis("localhost", 6379)) {
            System.out.println("连接成功");

            // 检查是否能够成功ping通Redis服务器
            String pingResult = jedis.ping();
            System.out.println("Ping Redis: " + pingResult);

            // 设置一个键值对
            jedis.set("key", "value");
            System.out.println("存储数据完成");

            // 获取刚刚设置的键值对
            String value = jedis.get("key");
            System.out.println("从Redis获取的数据: " + value);

            // 删除键值对
            /*Long result = jedis.del("key");
            System.out.println(result > 0 ? "键已删除" : "键不存在或未删除");*/
        } catch (JedisConnectionException e) {
            System.err.println("无法连接到Redis服务器: " + e.getMessage());
        } catch (Exception e) {
            System.err.println("发生错误: " + e.getMessage());
        }
    }

运行截图

总结

总的来说,Redis 是一个服务,而 Jedis 是一个帮助 Java 开发者使用 Redis 的工具

在CSDN上,一键三连是对作者辛勤创作的最好鼓励!喜欢我的文章,就请点赞、收藏、转发吧!你们的支持是我持续分享知识的动力,感谢大家的陪伴与认可!💖🔝🔄


http://www.kler.cn/news/358115.html

相关文章:

  • 软件测试学习笔记丨接口自动化测试-接口请求
  • 无人机:无线电波控制技术!
  • vue2鼠标左划、右划(左滑、右滑)时间
  • 从0开始深度学习(12)——多层感知机的逐步实现
  • RHCE第一次笔记
  • 【机器学习】深入浅出讲解贝叶斯分类算法
  • poisson过程——随机模拟(Python和R实现)
  • Element-ui官方示例(Popover 弹出框)
  • 微信小程序应用echarts和二维表的结合
  • 动态规划-子数组系列——乘积最大子数组
  • 【面试11】嵌入式之模电/数电
  • setState更新状态的2种写法
  • 高级算法设计与分析 学习笔记14 FFT
  • Axure科技感元件:打造可视化大屏设计的得力助手
  • CMake技术细节:解决未定义,提供参数
  • 基于MATLAB的交通标志的识别
  • ARM嵌入式学习--第四天
  • Flutter Column和Row组件
  • java-实例化一个List并添加数据的方法
  • yolov8实例分隔