Работа с Redis (Jedis)

Discussion in 'Разработка плагинов' started by fromgate, 20/3/16.

  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
Dismiss Notice
We welcome you on our site. This site is devoted to the Nukkit project and all that is connected with him. Here you can communicate, download plugins, also many other things get acquainted! Register the account right now :3
  1. fromgate

    fromgate Administrator

    Messages:
    665
    Likes Received:
    186
    В теме, в которой я просил идеи для расширения функционала Welcome разговор ушёл в сторону обсуждения работы с Redis.
    Думаю, эта тема достойна чтобы её обсуждать отдельно.

    Посмотрю, а что кто-то реально им пользуется? Вообще, тут скорее предложение для DbLib - добавить туда соответствующий JDBC-драйвер.
     
    Last edited: 20/3/16
  2. oDD1

    oDD1 Пользователь

    Messages:
    14
    Likes Received:
    3
    Minecraft:
    oDD1RU
    Я, md_5 и еще масса различных разработчиков популярных (я не в счет :D) плагинов (а-ля голограммы). Однако на ПК майне. Тем не менее, я не зря прошу добавить эту вещь, Redis - очень быстрая и простая в обращении БД.
     
  3. oDD1

    oDD1 Пользователь

    Messages:
    14
    Likes Received:
    3
    Minecraft:
    oDD1RU
    И да, не знал про DBLIB, так бы туда написал сразу.
     
  4. fromgate

    fromgate Administrator

    Messages:
    665
    Likes Received:
    186
    А как обычно используют? Просто как локальные БД?
    Посмотрел - jdbc драйвера на redis нет (точнее был - но он уже не поддерживает). Поэтому внедрять в DbLib - будте лишним. Наверное сделают отдельный плагин - со встроенным Jedis'ом и JedisPool'ом (если я правильно понял, что это такое и с чем его едят ;))

    Потом можно будет добавить поддержку и в Welcome, только честно говоря не думаю, что кто-то будет этим провайдером пользоваться ;)
     
  5. oDD1

    oDD1 Пользователь

    Messages:
    14
    Likes Received:
    3
    Minecraft:
    oDD1RU
    Я в данный момент в свое ядро вшил Jedis и использую его для работы с Redis.

    В целом его привычно использовать локально и закрыть от внешнего мира. У него есть возможность работы без авторизации, под это он и был заточен, но если нужно - авторизацию можно пустить.

    Фишка БД в том, что это а-ля хешмапа, такая же быстрая и удобная, ключ - значение. Я, к примеру, храню фактически все в этой базе, покупки, логи, время игры, кланы, баны, все - ибо удобно и быстро.
     
  6. oDD1

    oDD1 Пользователь

    Messages:
    14
    Likes Received:
    3
    Minecraft:
    oDD1RU
    Как пример, если поддержка таки появится, напишу какой-нибудь полезный плагин с использованием сей БД которого еще нет в ресурсах для nukkit.
     
  7. fromgate

    fromgate Administrator

    Messages:
    665
    Likes Received:
    186
    Да, это выглядит довольно удобным. Обязательно попробую.

    Единственное для того же Welcome это не очень актуально, поскольку структура хранимых данных достаточно простая. По факту мне хватило двух map'ов (а можно было бы обойтись и одним ;))

    Как я понимаю, для больших и при этом редкоиспользуемых данных Redis не очень подойдёт - все данные висят в памяти.

    А для чего там возможность указания IP адреса:

    jedisPool = new JedisPool(poolConfig, host, port);

    Он позволяет подключение к сторонним серверам?
     
  8. oDD1

    oDD1 Пользователь

    Messages:
    14
    Likes Received:
    3
    Minecraft:
    oDD1RU
    Как я уже говорил, Redis можно использовать как локально, так и удаленно. Изначаль задумано локально, без авторизации, но возможность подключиться к удаленной машине с указанием (или без) логина и пароля - имеется.
     
    fromgate likes this.
  9. fromgate

    fromgate Administrator

    Messages:
    665
    Likes Received:
    186
    Спасибо ;)
    Похоже у меня достаточно информации, чтобы сделать первичную конфигурацию :)
     
    oDD1 likes this.
  10. fromgate

    fromgate Administrator

    Messages:
    665
    Likes Received:
    186
    @oDD1
    Я сделал это! Написал плагин, предоставляющий доступ к Redis, чуть позже выложу. Потом сделал провайдер в Welcome для него - заработало сразу. Я даже не ожидал: я ж никогда с этой библиотекой не работал (решил обойтись методами названия, которых понятны без загялывания в javadoc :))

    Update: http://nukkit.ru/resources/nedis.76/
     
    Last edited: 21/3/16
  11. oDD1

    oDD1 Пользователь

    Messages:
    14
    Likes Received:
    3
    Minecraft:
    oDD1RU
    Отлично! Глянем что и как :)
     
  12. fromgate

    fromgate Administrator

    Messages:
    665
    Likes Received:
    186

Share This Page