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

14a5670644a189d982e250e789e42d47.jpeg

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

5251aee4f2461aa7dbdb05ac4ffbb8ee.png

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

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

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

0690374af2dbdd2228e1fd79236e000e.png

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 级别的内存数据集。

d3aafc74ac9227b73af29c90404ee2c5.png

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

KeyDB

主语言:C++Star:9.6k

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

c7aa299e16af6a8842f00ddb44ca4814.png

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

Garnet

主语言:C#Star:6.4k

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

313f1fa45a7f28aa6c99fefaf231d8ad.png

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

2. 开源热搜项目

2.1 Go 写的视频下载器:lux

4a2ce4638ae6b4876f83dde7130b268a.png

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

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

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

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

1715ebafdc2f44865ef1650d8c9aac57.png

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

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

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

2.3 K8s 网络可观测平台:retina

f5e902595327a7eff93a07f077e42f5b.png

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

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

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

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

6bb8e0fb3daf2ec97b43039eeac50e64.png

主语言:TypeScriptStar:28k

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

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

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

67ce105c66da110a7a78be5f875fb0e8.png

主语言: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 点亮日志文件的命令行工具

2849b813f26a55db9d3dbcf82517673f.png

主语言:Python

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

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

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

df7ca6ac2832f914909dce1a4ff776f5.png

主语言:Other

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

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

3. 往期回顾

往期回顾:

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

- END -

👆 关注「HelloGitHub」第一时间收到更新👆

点击阅读原文访问开源社区

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-03-28 05:22:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-28 05:22:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-28 05:22:05       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-28 05:22:05       20 阅读

热门阅读

  1. 设计模式-----观察者模式

    2024-03-28 05:22:05       20 阅读
  2. flutter弹框

    2024-03-28 05:22:05       16 阅读
  3. SQL语言入门注意

    2024-03-28 05:22:05       19 阅读
  4. Redis中的缓存雪崩、缓存击穿、缓存穿透问题

    2024-03-28 05:22:05       22 阅读
  5. PTA------ 敲笨钟

    2024-03-28 05:22:05       22 阅读
  6. Filter和Intercepter中怎么获取Spring托管的bean对象

    2024-03-28 05:22:05       18 阅读
  7. yolov8 在训练好的模型基础上切换为中文标签

    2024-03-28 05:22:05       21 阅读
  8. 面向对象编程(一)

    2024-03-28 05:22:05       19 阅读
  9. 实现阻塞队列

    2024-03-28 05:22:05       18 阅读
  10. Scikit-learn 数据挖掘和数据分析工具的使用指南

    2024-03-28 05:22:05       23 阅读