近日,知名開源專案 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.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
主語言:Go,Star:24k,周增長:570
這是一個國人用 Go 寫的簡單、快速的影片下載工具,它安裝簡單、使用方便,一條命令即可下載影片,支援國內外主流的影片網站。
GitHub 地址→https://github.com/iawia002/lux
2.2 基於 Spring Boot 的全棧快開平臺:ruoyi-vue-pro
主語言:Java,Star:23k,周增長:590
該專案是一個基於 Vue.js 和 Spring Boot 的前後端分離的快速開發平臺,提供了精簡和完整版,精簡版僅包括系統功能、基礎設施的功能,完整版則包含會員中心、資料包表、工作流程、商城系統、微信公眾號、CRM 等功能,開發者可根據需求選擇對應版本,快速起專案或進行二次開發。專案作者承諾該專案程式碼全部開源,永遠不會有商業版!
GitHub 地址→https://github.com/YunaiV/ruoyi-vue-pro
2.3 K8s 網路可觀測平臺:retina
主語言:Go,Star:1.9k,周增長:1.7k
這是由微軟開源的基於 eBPF 的雲原生容器網路可觀測性平臺,支援 Linux、Windows 等多種作業系統。它提供了一個集中檢視、監控、分析應用和網路執行狀況的中心平臺,能夠將收集的網路可觀測性資料傳送到 Prometheus 進行視覺化,適用於除錯 Pod 無法互連的問題、監控網路健康狀況、收集遙測資料等場景。
GitHub 地址→https://github.com/microsoft/retina
2.4 自建照片和影片管理平臺:Immich
主語言:TypeScript,Star:28k
這是一個開源的自託管照片和影片的備份解決方案,當手機儲存空間被照片和影片佔滿卻又不捨得刪,這個時候雖然有云儲存服務但價格卻讓人望而卻步,那就自己動手輕鬆搭建個人媒體庫吧。該專案就是一個免費的備份手機裡照片和影片的解決方案,提供了多客戶端、自動備份、多使用者、共享相簿、實時檢視照片等功能,既免費又安全還能保護個人隱私。
GitHub 地址→https://github.com/immich-app/immich
2.5 計算機視覺 AI 工具庫:supervision
主語言:Python,Star: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. 往期回顧
往期回顧:
-
一天漲 23k Star 的開源專案
-
春風吹又生的開源專案
以上為本週的「GitHub 熱點速遞」如果你發現其他好玩、實用的 GitHub 專案,就來 HelloGitHub 和大家一起分享下吧。