• 替代 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 的开源替代品
      • 2. 开源热搜项目
        • 2.1 Go 写的视频下载器:lux
        • 2.2 基于 Spring Boot 的全栈快开平台:ruoyi-vue-pro
        • 2.3 K8s 网络可观测平台:retina
        • 2.4 自建照片和视频管理平台:Immich
        • 2.5 计算机视觉 AI 工具库:supervision
      • 3. HelloGitHub 热评
        • 3.1 点亮日志文件的命令行工具
        • 3.2 前端面试 React 高频问题和答案
      • 4. 往期回顾

    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

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

    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

    3. 往期回顾

    往期回顾:

    以上为本周的「GitHub 热点速递」如果你发现其他好玩、实用的 GitHub 项目,就来 HelloGitHub 和大家一起分享下吧。

  • 相关阅读:
    RPA处理重复工作,助力高效资金管理
    机器学习笔记之指数族分布——最大熵角度观察指数族分布(二)最大熵定理与指数族分布的关系
    如何在Spring Boot中配置双数据源?
    【计算机专业毕设之基于ssm的大学生勤工俭学管理系统-哔哩哔哩】 https://b23.tv/IADQcmb
    【Vue】Vue的部分语法规则
    【深度学习】(3) Transformer 中的 Encoder 机制,附Pytorch完整代码
    C++基础:数据结构 代码模板
    Typescript学习
    探索 LinkedList 原理
    Java21 + SpringBoot3集成七牛云对象存储OSS,实现文件上传
  • 原文地址:https://www.cnblogs.com/xueweihan/p/18095807