TicebleB-это Redis-совместимый, реактивный, масштабируемый, высокодоступный, унифицированный кэш, оптимизированный для современного оборудования.
Мы ищем ранних партнеров по дизайну, поэтому, если вы хотите оценить набитые на кубики, заблокировать наш календарь. Всегда готовитесь к разговору.
Осторожность
TiceedB находится в стадии разработки и поддерживает подмножество команд Redis. Итак, пожалуйста, не используйте его в производстве. Но не стесняйтесь пройти через открытые проблемы и внести свой вклад, чтобы помочь нам ускорить разработку.
У нас есть несколько репозиториев, где вы можете внести свой вклад. Таким образом, в соответствии с вашим интересом, вы можете выбрать один и построить более глубокое понимание проекта на ходу.
Несмотря на то, что пораженные удары-это замена Redis, что означает, что практически отсутствие кривой обучения и переключение не требует никакого изменения кода, он по-прежнему отличается в двух ключевых аспектах, и они
.WATCH
поддерживает. Начиная с такими командами, как GET.WATCH
, ZRANGE.WATCH
и т. Д., Которые позволяют клиентам слушать изменения данных и получать результат в режиме реального времени, когда что-то меняется. Команды .WATCH
с командами довольно удобно, когда дело доходит до создания действительно в реальном времени приложений, таких как таблица лидеров.
Самый простой способ начать с пораженными ударами - это использование Docker, выполнив следующую команду.
docker run -p 7379:7379 dicedb/dicedb --enable-multithreading --enable-watch
Приведенная выше команда запустит сервер наединков, работающий локально на порте 7379
, и вы можете подключиться к нему с помощью CLI и SDK.
Кончик
Поскольку DicenceB является заменой Redis, вы также можете использовать любой Redis CLI и SDK для подключения к наединок.
Чтобы запустить наединок на местную разработку или бег от источника, вам понадобится
git clone https://github.com/dicedb/dice
cd dice
go run main.go --enable-multithreading --enable-watch
Вы можете пропустить передачу двух флагов, если вы не работаете с функциями .WATCH
или.
sudo su
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b /bin v1.60.1
The Latchberb предоставляет среду разработки горячей загрузки, которая позволяет мгновенно просматривать изменения кода на живом сервере. Эта функциональность поддерживается воздухом
Чтобы установить воздух в вашей системе, у вас есть следующие параметры.
go install github.com/air-verse/air@latest
# binary will be installed at $(go env GOPATH)/bin/air
curl -sSfL https://raw.githubusercontent.com/air-verse/air/master/install.sh | sh -s -- -b $( go env GOPATH ) /bin
После установки air
вы можете проверить установку с помощью командного air -v
Чтобы запустить живой сервер набивных наединок для локальной разработки:
git clone https://github.com/dicedb/dice
cd dice
air
По умолчанию, наединок на TiceedB будет искать файл конфигурации по адресу /etc/dice/config.toml
. (Linux, Darwin и WSL)
# set up configuration file # (optional but recommended)
sudo mkdir -p /etc/dice
sudo chown root: $USER /etc/dice
sudo chmod 775 /etc/dice # or 777 if you are the only user
git clone https://github.com/DiceDB/dice.git
cd dice
go run main.go -init-config
Примечание
Если вы используете Windows, рекомендуется использовать подсистему Windows для Linux (WSL) или WSL 2 для плавного запуска вышеуказанных команд в среде, подобной Linux.
Если вы хотите использовать другое местоположение, вы можете указать пользовательский путь файла конфигурации с -c flag
:
go run main.go -c /path/to/config.toml
Если вы хотите вывести файл конфигурации в определенное место, вы можете указать пользовательский выходной путь с -o flag
:
go run main.go -o /path/of/output/dir
Лучший способ подключения к набиванию набивает cli набие cli, и вы можете установить его, выполнив следующую команду
sudo su
curl -sL https://raw.githubusercontent.com/DiceDB/dicedb-cli/refs/heads/master/install.sh | sh
TicebleB полностью совместим с протоколом REDIS, что позволяет подключаться к любому существующему клиенту Redis или SDK.
Примечание
.WATCH
. Если вы работаете над неподдерживаемой ОС (согласно сценарию выше), вы всегда можете следовать инструкциям по установке, упомянутым в репозитории наединок/CLI.
Модульные тесты и интеграционные тесты необходимы для обеспечения правильности, и в случае наединок на битью, оба типа тестов доступны для проверки его функциональности.
Для модульного тестирования вы можете выполнить отдельные модульные тесты, указав имя тестовой функции, используя переменную среды TEST_FUNC
и запустив команду make unittest-one
. В качестве альтернативы, запуск make unittest
выполнит все модульные тесты.
TEST_FUNC= < name of the test function > make unittest-one
TEST_FUNC=TestByteList make unittest-one
make unittest
Интеграционные тесты, с другой стороны, включают запуск сервера на кубиках и запуск ряда команд для проверки ожидаемого конечного состояния и вывода. Чтобы выполнить единый интеграционный тест, вы можете установить переменную среды TEST_FUNC
на имя функции теста и запустить make test-one
. Запуск make test
выполнит все интеграционные тесты.
TEST_FUNC= < name of the test function > make test-one
TEST_FUNC=TestSet make test-one
make test
Работа над добавлением дополнительных тестов в поражении в поражении, и вскоре мы перенесем набор тестов Redis в эту кодовую базу, чтобы обеспечить полную совместимость.
make run_benchmark
Чтобы начать работу с строительством и внести свой вклад в наединок, пожалуйста, обратитесь к вопросам, созданным в этом хранилище.
Мы используем Astro Framework для питания веб -сайта наединок .IO и Starlight для питания документов. После установки Nodejs выпустите следующие команды, чтобы получить локальную версию Diceedb.io.
cd docs
npm install
npm run dev
После того, как сервер начнется, посетите http: // localhost: 4321/в вашем любимом браузере. Это работает с горячей перезагрузкой, что означает любые изменения, которые вы вносите на веб -сайте, и документацию можно мгновенно просмотреть в браузере.
docs/src/content/docs/commands
- это то, где все команды задокументированыdocs/src/content/docs/tutorials
- это то, где все учебники задокументированы The Latchb начал как повторное внедрение Redis в Голанге с идеей создания ДБ с нуля, чтобы понять микро ненужные вещества, которые связаны с его реализацией. Наединный набие, не просто еще одна база данных; Это платформа, специально построенная в эпоху в реальном времени. Поскольку системы в реальном времени становятся все более распространенными в современных приложениях, гипероптимизированная архитектура на кубиках ввязается к питанию пользовательского опыта следующего поколения.
Руководство по взносу кода опубликовано по адресу ancoming/readme.md; Пожалуйста, прочитайте их, прежде чем начать вносить какие -либо изменения. Это позволило бы нам иметь постоянный стандарт методов кодирования и опыта разработчиков.
Авторы могут присоединиться к серверу Discord для быстрого сотрудничества.
$ sudo netstat -atlpn | grep :7379
$ sudo kill -9 <process_id>