首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >[开源]一个基于 smart-socket 开发的轻量级 Redis 客户端,专为 Java 平台设计

[开源]一个基于 smart-socket 开发的轻量级 Redis 客户端,专为 Java 平台设计

作者头像
艺齐飞
发布2025-11-30 11:07:55
发布2025-11-30 11:07:55
80
举报
文章被收录于专栏:一飞开源一飞开源

一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介

Redisun 是一个基于 smart-socket 开发的轻量级 Redis 客户端,专为 Java 平台设计,支持异步非阻塞 I/O 操作,提供高性能的 Redis 连接和命令执行能力。

Redisun 正在不断扩展对 Redis 命令的支持。完整的命令列表和支持情况请参阅我们的 查看已支持的命令列表 页面。

二、开源协议

使用Apache-2.0开源协议

三、界面展示

四、功能概述

特性

  • 轻量级核心代码仅由少量类组成,jar包仅50KB
  • 高性能基于 smart-socket Java AIO 实现,单线程处理能力强
  • 连接复用一个连接可同时处理多个并发请求
  • 可扩展提供简单易用的命令扩展接口,方便添加自定义 Redis 命令

核心组件

  • Redisun核心客户端类,提供连接管理和命令执行功能
  • CommandRedis 命令的抽象基类,支持自定义命令扩展
  • RESPRedis 序列化协议解析器,支持多种数据类型
  • RedisMessageProcessor消息处理器,负责解析 Redis 服务器响应
  • RedisSession会话管理器,维护客户端与服务器的会话状态
  • RedisunOptions客户端配置选项类,用于设置连接参数

五、技术选型

安装

Maven

代码语言:javascript
复制
<dependency>
    <groupId>tech.smartboot</groupId>
    <artifactId>redisun</artifactId>
    <version>1.1.0</version>
</dependency>

Gradle

代码语言:javascript
复制
implementation 'tech.smartboot:redisun:1.0.0'

快速开始

基本用法

代码语言:javascript
复制
import tech.smartboot.redisun.Redisun;
Redisun redisun = Redisun.create(options -> {
    options.setAddress("redis://127.0.0.1:6379");
    // 或者使用带认证信息的地址
    // options.setAddress("redis://username:password@127.0.0.1:6379");
});
// 设置键值
boolean setResult = redisun.set("mykey", "myvalue");
System.out.println("SET command result: " + setResult);
// 获取键值
String getResult = redisun.get("mykey");
System.out.println("GET command result: " + getResult);
// 执行有序集合命令
int zaddResult = redisun.zadd("myzset", 1.0, "member1");
System.out.println("ZADD command result: " + zaddResult);
// 删除键
int delResult = redisun.del("mykey");
System.out.println("DEL command result: " + delResult);
redisun.close();

SET 命令高级用法

代码语言:javascript
复制
Redisun redisun = Redisun.create(options -> {
    options.setAddress("redis://127.0.0.1:6379");
});
// 基本设置
redisun.set("key1", "value1");
// 仅在键不存在时设置(NX选项)
boolean nxResult = redisun.set("key2", "value2", cmd -> cmd.setIfNotExists());
// 仅在键存在时设置(XX选项)
boolean xxResult = redisun.set("key1", "newvalue", cmd -> cmd.setIfExists());
// 设置过期时间(秒)
redisun.set("key3", "value3", cmd -> cmd.expire(60));
// 设置过期时间(毫秒)
redisun.set("key4", "value4", cmd -> cmd.expireMs(30000));
// 在指定时间过期
redisun.set("key5", "value5", cmd -> cmd.expireAt(new Date(System.currentTimeMillis() + 60000)));
// 保留键的生存时间
redisun.set("key1", "anotherValue", cmd -> cmd.keepTTL());
redisun.close();

高级配置

代码语言:javascript
复制
Redisun redisun = Redisun.create(options -> {
    // 设置服务器地址
    options.setAddress("redis://127.0.0.1:6379")
           // 设置数据库
           .setDatabase(1)
           // 启用调试模式
           .debug(true);
});

构建与测试

确保已安装 Maven,然后运行以下命令:

代码语言:javascript
复制
mvn clean package

运行测试:

代码语言:javascript
复制
mvn test

六、源码地址

访问一飞开源:https://code.exmay.com/

#一飞开源 #开源项目 #轻量级Redis客户端

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-11-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一飞开源 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、开源项目简介
  • 二、开源协议
  • 三、界面展示
  • 四、功能概述
  • 特性
  • 核心组件
  • 五、技术选型
  • 安装
  • Maven
  • Gradle
  • 快速开始
  • 基本用法
  • SET 命令高级用法
  • 高级配置
  • 构建与测试
  • 六、源码地址
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档