Redisun 是一个基于 smart-socket 开发的轻量级 Redis 客户端,专为 Java 平台设计,支持异步非阻塞 I/O 操作,提供高性能的 Redis 连接和命令执行能力。
🚀Redisun 正在不断扩展对 Redis 命令的支持。完整的命令列表和支持情况请参阅我们的 查看已支持的命令列表 页面。
- 轻量级:核心代码仅由少量类组成,jar包仅50KB
- 高性能:基于 smart-socket Java AIO 实现,单线程处理能力强
- 连接复用:一个连接可同时处理多个并发请求
- 可扩展:提供简单易用的命令扩展接口,方便添加自定义 Redis 命令
- Redisun:核心客户端类,提供连接管理和命令执行功能
- Command:Redis 命令的抽象基类,支持自定义命令扩展
- RESP:Redis 序列化协议解析器,支持多种数据类型
- RedisMessageProcessor:消息处理器,负责解析 Redis 服务器响应
- RedisSession:会话管理器,维护客户端与服务器的会话状态
- RedisunOptions:客户端配置选项类,用于设置连接参数
<dependency>
<groupId>tech.smartboot</groupId>
<artifactId>redisun</artifactId>
<version>1.1.0</version>
</dependency>implementation 'tech.smartboot:redisun:1.0.0'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();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();Redisun redisun = Redisun.create(options -> {
// 设置服务器地址
options.setAddress("redis://127.0.0.1:6379")
// 设置数据库
.setDatabase(1)
// 启用调试模式
.debug(true);
});确保已安装 Maven,然后运行以下命令:
mvn clean package运行测试:
mvn test该项目使用 Apache License, Version 2.0 许可证。
欢迎提交 Pull Request 和建议。请参阅项目 issue 跟踪 获取待办事项。
如有问题或建议,请提交 issue 或联系项目维护者 三刀。
如果您对我们的项目感兴趣,欢迎关注我们的微信公众号,获取最新动态和技术分享。
