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依赖

XML 复制代码
        <dependency>
			<groupId>redis.clients</groupId>
			<artifactId>jedis</artifactId>
			<version>3.6.3</version>
		</dependency>

测试类

XML 复制代码
    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上,一键三连是对作者辛勤创作的最好鼓励!喜欢我的文章,就请点赞、收藏、转发吧!你们的支持是我持续分享知识的动力,感谢大家的陪伴与认可!💖🔝🔄

相关推荐
螺蛳粉 螺蛳粉1 小时前
MySQL 分布式集群系列 · 第五篇——全方位对比:NDB、MGR、主从复制、分库分表怎么选?
数据库·分布式·mysql
wdfk_prog4 小时前
ROS教程07:从 ros::start() 顺着源码读懂 Master、XML-RPC 与 Topic 注册发现
运维·缓存·docker·容器·ros
Escalating_xu5 小时前
【内存管理发展史】从 8086 实模式到分页:CPU 如何把虚拟地址变成物理地址
linux·缓存
wdfk_prog5 小时前
用 Git Submodule + Sparse Checkout 管理 RT-Thread:内核、BSP、第三方库与业务代码分层实践
运维·缓存·docker·容器·ros
努力努力再努力wz5 小时前
【Docker入门系列】镜像为什么能复用?一文吃透 Docker Image、Registry、运行时架构与常用命令
缓存·docker·容器
这个DBA有点耶5 小时前
从OLTP到OLAP到HTAP:数据库负载分类的技术演进与选型指南
数据库·mysql·架构
Nano叶落6 小时前
几十万个-key-扫不过来?-bigkeys、SCAN、RDB-离线分析三步定位最该清的-Big-Key
redis
YangYang9YangYan7 小时前
商业数据分析校招项目怎么选,附项目设计与简历包装思路
大数据·数据库·数据分析
李白客7 小时前
数据库培训怎么选?零基础到DBA的学习路线与机构认证对比(2026)
数据库·学习
shark-chili7 小时前
关于AI辅助编程的认知
数据库·人工智能·redis·macos·缓存