<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一個 Go 語言實(shí)現(xiàn)的高性能 NoSQL 數(shù)據(jù)庫

          共 1772字,需瀏覽 4分鐘

           ·

          2021-05-10 17:57

          NoSQL 數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫一樣被廣泛使用,雖然已經(jīng)存在了很多成熟的產(chǎn)品,但依然有一些新產(chǎn)品出現(xiàn)。今天推薦的這款開源產(chǎn)品是使用 Go 語言實(shí)現(xiàn)的。

          項(xiàng)目地址:https://github.com/ledisdb/ledisdb,Star 數(shù) 3.5k+。

          Ledisdb 是用 Go 編寫的高性能 NoSQL 數(shù)據(jù)庫庫和服務(wù)器。它類似于 Redis,但將數(shù)據(jù)存儲在磁盤中。它支持許多數(shù)據(jù)結(jié)構(gòu),包括 kv,list,hash,zset,set 等。

          此外 LedisDB 支持多個不同的數(shù)據(jù)庫作為后端。具體特性如下:

          • 豐富的數(shù)據(jù)結(jié)構(gòu):KV, List, Hash, ZSet, Set。
          • 數(shù)據(jù)存儲不受 RAM 限制。
          • 支持各種后端:LevelDB,goleveldb,RocksDB,RAM。
          • 支持 Lua 腳本。
          • 支持到期和 TTL。
          • 可以通過 redis-cli 進(jìn)行管理,即兼容 Redis 協(xié)議。
          • 易于嵌入您自己的 Go 應(yīng)用程序中。
          • HTTP API 支持,JSON/BSON/msgpack 輸出。
          • Replication 以保證數(shù)據(jù)安全。
          • 提供用于加載,轉(zhuǎn)儲和修復(fù)數(shù)據(jù)庫的工具。
          • 支持集群,使用 xcodis 這個工具。
          • 身份驗(yàn)證(盡管不能通過 http)。
          • 集成修復(fù):如果您是從 v0.4 升級的,則可以使用 ledis 修復(fù)來修復(fù)損壞的數(shù)據(jù)庫,并可以使用 ledis repair-ttl 修復(fù)非常嚴(yán)重的密鑰過期和 TTL 錯誤。

          作為 Server 的例子:

          //set run environment if not
          source dev.sh

          ./bin/ledis -config=/etc/ledis.conf

          //another shell
          ./bin/ledis cli -p 6380

          ledis 127.0.0.1:6380> set a 1
          OK
          ledis 127.0.0.1:6380> get a
          "1"

          //use curl
          curl http://127.0.0.1:11181/SET/hello/world
          → {"SET":[true,"OK"]}

          curl http://127.0.0.1:11181/0/GET/hello?type=json
          → {"GET":"world"}

          作為 Go 包使用的例子:

          import (
              lediscfg "github.com/ledisdb/ledisdb/config"
              "github.com/ledisdb/ledisdb/ledis"
          )

          # Use Ledis's default config
          cfg := lediscfg.NewConfigDefault()
          l, _ := ledis.Open(cfg)
          db, _ := l.Select(0)

          db.Set(key, value)

          db.Get(key)

          雖然不知道有沒有人用于生產(chǎn)環(huán)境,但至少可以作為 Go 語言學(xué)習(xí)項(xiàng)目?


          文末「閱讀原文」可直達(dá)項(xiàng)目首頁。


          今天的項(xiàng)目大家覺得怎么樣嗎?如果你喜歡,請?jiān)谖恼碌撞苛粞?、點(diǎn)贊或關(guān)注轉(zhuǎn)發(fā),你的支持就是我持續(xù)更新的最大動力!



          推薦閱讀


          福利

          我為大家整理了一份從入門到進(jìn)階的Go學(xué)習(xí)資料禮包,包含學(xué)習(xí)建議:入門看什么,進(jìn)階看什么。關(guān)注公眾號 「polarisxu」,回復(fù) ebook 獲取;還可以回復(fù)「進(jìn)群」,和數(shù)萬 Gopher 交流學(xué)習(xí)。

          瀏覽 62
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  黄色日本国产 | 天堂AV手机版 | 欧美色站导航 | 免费无码AV | 影音AV最新资源站 |