1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/onlyyyy-Nodis

Клонировать/Скачать
README.md 5.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 04.06.2025 07:16 6b2098f

Nodis

Введение

Redis, реализованный на Node.js

Архитектура программного обеспечения

Язык: Node.js

База данных: MySQL

Операционная система: кроссплатформенная

Формат команд (Json)

Формат команд нечувствителен к регистру, например ping, PING, Ping.

1. Проверка версии

type:"ping"
password:"password"
return
type:"ping"
result:"version"

2. Проверка прав доступа

type:"check"
password:"password"
return
type:"check"
result:"code"
remark:"remark"

3. Сохранение в кэше

type:"add"
key:"key"
value:"value"
password:"password"
return
type:"add"
result:"code"
remark:"успешно"

4. Получение элемента

type:"get"
key:"key"
password:"password"
return 
type:"get"
value:"json"
result:"code"
remark:"remark"

5. Поиск элемента

type:"find"
key:"key"
password:"password"
return
type:"find"
value:"code"
remark:"remark"

6. Получение всех данных кэша Nodis

type:"getAll"
password:"password"
remark:"remark"
return
type:"getAll"
result:"code"
value:"value"

7. Увеличение значения ключа

type:"raise"
password:"password"
key:"key"
value:"value"
return
type:"raise"
result:"code"
remark:"remark"

8. Уменьшение значения ключа

type:"reduce"
password:"password"
key:"key"
value:"value"
return
type:"reduce"
result:"code"
remark:"remark"

9. Начало транзакции

type:"trans"
password:"password"
value:"[{type:reduce,key:a,value:b},{type:getall},etc]"
return 
type:"trans"
result:"code"
remark:"успешно" или "ошибка команды xxx" или "другое"

10. Удаление данных кэша

type:"delete"
password:"password"
key:"key"
return
type:"delete"
result:"code"
remark:"remark"

11. Обновление значения ключа```js

type:"обновление" password:"пароль" key:"ключ" value:"значение"


```js
return 
type:"обновление"
result:"код"
remark:"примечание"

12. Закрепление ключа

type:"установка_ключа"
password:"пароль"
key:"ключ"
return 
type:"установка_ключа"
result:"код"
remark:"примечание"

13. Освобождение ключа

type:"получение_ключа"
password:"пароль"
key:"ключ"
return 
type:"получение_ключа"
result:"код"
remark:"примечание"

14. Очистка ключей

type:"очистка_ключа"
password:"пароль"
return 
type:"очистка_ключа"
result:"код"
remark:"примечание"

Пример конфигурационного файла

[main]
#IP и порт Nodis
ip=127.0.0.1
port=13000

[mysql]
#Не используется временно
ip=127.0.0.1
name=root
password=123456
dbname=Nodis


[Nodis]
#Версия Nodis, возвращается при пинге
version=V0.0.1
#MD5-хэш пароля пользователя
password=E10ADC3949BA59ABBE56E057F20F883E
#Требуется ли пароль
usePassword=true

#AESKey=9cd5b4cf899492077b4a125a79af8e76
#AESiv=e6db271db12d4d47


[solid]
#Закреплен ли
isSolid=true
#Интервал закрепления (в секундах)
setTime=3
#Путь к файлу закрепления
logPathMac=/Users/hideyoshi/Desktop/codes/Nodis/
logPathWin=E:/gitee/Nodis/
logPathDef=./

#Имя файла закрепления
logName=solid.json
logNameTemp=solid.json.temp

#useEncrypt=true

[lock]
#Количество попыток при невозможности получить блокировку
trys=10
#Интервал между попытками (в миллисекундах)
ms=300
#Включена ли блокировка
uselock=true

Таблица кодов ошибок```js

errCode = { "succ" : { code : 0, text : "успех" }, "auth" : { code : 1141, text : "доступ запрещен" }, "none" : { code : 1133, text : "ключ не найден" }, "add" : { code : 100, text : "[обновление] ключ не найден и добавлен" }, "exist" : { code : 1146, text : "ключ уже существует" }, "NaN" : { code : 200, text : "значение не является числом" }, "unknown" : { code : -1, text : "неизвестная команда" }, "nothing" : { code : 1, text : "в транзакции ничего не делать" }, "lock" : { code : 1065, text : "операция заблокирована" }, "timeout" : { code : 2000, text : "система занята" } }


Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/onlyyyy-Nodis.git
git@api.gitlife.ru:oschina-mirror/onlyyyy-Nodis.git
oschina-mirror
onlyyyy-Nodis
onlyyyy-Nodis
master