替代 Redis 的开源项目「GitHub 热点速览」

近日,知名开源项目 Redis 宣布修改开源协议,从原来的「BSD 3-Clause 开源协议」改成「RSALv2 和 SSPLv1 双重许可证」。新的许可证主要是限制托管 Redis 产品的云服务商,比如 Redis 云数据库等,不能继续免费使用 Redis 最新的源代码。

我感觉这个改动对于大多数个人开发者来说影响不大,但有专业人士表示新的 RSALv2 和 SSPLv1 并不属于开源协议,所以网上一直有 Redis 不再开源之类的言论,在生存面前谁都有选择的权利,而且市面上兼容 Redis API 的开源内存数据库挺多的,后面我会逐一介绍。

说回上周的热门开源项目,霸榜一周的爬虫项目 MediaCrawler 的作者因担心不必要的麻烦删库了,那就用另外一款视频下载工具 lux 顶上。上期我分享了 FastAPI 的全栈项目模板,这期来个 Java 的 ruoyi-vue-pro 再次助力 Web 应用开发。话说,微软最近在 GitHub 上很活跃,除了最近开源的 Redis 替代品 Garnet,还有 K8s 网络可观测平台 retina 也不错。

最后,来一份前端面试 React 高频问题和答案,虽然之前的“金三银四”变成了现在的“苟住”,但还是祝愿大家都能找到自己喜欢、高薪的工作。

1. 开源新闻

1.1 Redis 的开源替代品

随着 Redis 修改开源协议,让使用 Redis 的云服务商、公司和个人开发者多了一些顾虑,担心 Redis 不再是长久之计。

所以,下面我将介绍 3 款可替代 Redis 的开源项目:Dragonfly、KeyDB、Garnet,它们都兼容 Redis API 可实现平滑替换。

Dragonfly

主语言:C++,Star:23k

它与当下最流行的两款内存数据库 Redis 和 Memcached 的 API 完全兼容,所以无需修改代码即可完成迁移。性能上更是爆炸,官方表示单实例可支持数百万量级的 QPS,而且吞吐量是 Redis 的 25 倍,并可以应对 TB 级别的内存数据集。

GitHub 地址:https://github.com/dragonflydb/dragonfly

KeyDB

主语言:C++,Star:9.6k

该项目是由 Snapchat 开源的支持多线程的 Redis,它具有高性能、更高的吞吐量、完全兼容 Redis 协议等特点。有了多线程就可以放心大胆地执行 KEYS 和 SCAN 命令,不用再担心阻塞 Redis 了。

GitHub 地址:https://github.com/Snapchat/KeyDB

Garnet

主语言:C#,Star:6.4k

这是由微软用 C# 开发的一款高性能分布式缓存系统,兼容各种编程语言的 Redis 客户端。性能方面相较于 Redis 具有更高的吞吐量、更少的成本和更低的延迟,支持 List、有序集合、HyperLogLog、Bitmap 等数据结构,以及集群模式、事务性存储过程、故障转移等功能。

GitHub 地址:https://github.com/microsoft/garnet

2. 开源热搜项目

2.1 Go 写的视频下载器:lux

主语言:GoStar:24k周增长:570

这是一个国人用 Go 写的简单、快速的视频下载工具,它安装简单、使用方便,一条命令即可下载视频,支持国内外主流的视频网站。

GitHub 地址→https://github.com/iawia002/lux

2.2 基于 Spring Boot 的全栈快开平台:ruoyi-vue-pro

主语言:JavaStar:23k周增长:590

该项目是一个基于 Vue.js 和 Spring Boot 的前后端分离的快速开发平台,提供了精简和完整版,精简版仅包括系统功能、基础设施的功能,完整版则包含会员中心、数据报表、工作流程、商城系统、微信公众号、CRM 等功能,开发者可根据需求选择对应版本,快速起项目或进行二次开发。项目作者承诺该项目代码全部开源,永远不会有商业版!

GitHub 地址→https://github.com/YunaiV/ruoyi-vue-pro

2.3 K8s 网络可观测平台:retina

主语言:GoStar:1.9k周增长:1.7k

这是由微软开源的基于 eBPF 的云原生容器网络可观测性平台,支持 Linux、Windows 等多种操作系统。它提供了一个集中查看、监控、分析应用和网络运行状况的中心平台,能够将收集的网络可观测性数据发送到 Prometheus 进行可视化,适用于调试 Pod 无法互连的问题、监控网络健康状况、收集遥测数据等场景。

GitHub 地址→https://github.com/microsoft/retina

2.4 自建照片和视频管理平台:Immich

主语言:TypeScriptStar:28k

这是一个开源的自托管照片和视频的备份解决方案,当手机存储空间被照片和视频占满却又不舍得删,这个时候虽然有云存储服务但价格却让人望而却步,那就自己动手轻松搭建个人媒体库吧。该项目就是一个免费的备份手机里照片和视频的解决方案,提供了多客户端、自动备份、多用户、共享相册、实时查看照片等功能,既免费又安全还能保护个人隐私。

GitHub 地址→https://github.com/immich-app/immich

2.5 计算机视觉 AI 工具库:supervision

主语言:PythonStar:12k周增长:2k

该项目简化了对象检测、分类、标注、跟踪等计算机视觉的开发流程。开发者仅需加载数据集和模型,就能轻松实现对图像和视频进行检测、统计某区域的被检测数量等操作。

代码语言:javascript
复制
import cv2
import supervision as sv
from ultralytics import YOLO

image = cv2.imread(...)
model = YOLO('yolov8s.pt')
result = model(image)[0]
detections = sv.Detections.from_ultralytics(result)

len(detections)

5

GitHub 地址→https://github.com/roboflow/supervision

3. HelloGitHub 热评

在这个章节,将会分享下本周 HelloGitHub 网站上的热门开源项目,欢迎与我们分享你上手这些开源项目后的使用体验。

3.1 点亮日志文件的命令行工具

主语言:Python

这是一个用于查看、追踪、合并和搜索,日志/JSON 长文件的命令行工具。它提供了高亮显示和实时追踪日志的功能,支持快速打开 GB 级的文件,并能根据时间戳自动合并日志文件。

项目详情→https://hellogithub.com/repository/dd740029a8d54a0fa11dcd2fb0a226cb

3.2 前端面试 React 高频问题和答案

主语言:Other

该项目涵盖了一系列 React 相关的面试问题和答案,内容涉及基础知识、组件、状态管理、生命周期以及性能优化等方面。

项目详情→https://hellogithub.com/repository/4d8c1c8eee0f4eb6ad79857563f1d6cb