Начало работы с Redis в первый раз, я серьезно, не бейте меня

Java Redis

Говоря об этом, некоторые друзья могут не поверить в это, на самом деле я впервые использую Redis. Поскольку компания небольшая и объем бизнеса невелик, Redis совершенно бесполезен. Однако в последнее время я планирую модернизировать систему, и, кстати, буду внедрять в дверь нынешнюю модную технологию, "в ногу со временем", хотя и "немного" с опозданием (обратите внимание на двойные кавычки).

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

01. Что такое Redis

Redis является наиболее широко используемым промежуточным программным обеспечением для хранения данных в области интернет-технологий.Remote Dictionary Sсервис Сочетание жирных букв в трех словах. Не говорите, это звучит вполне естественно в сочетании.

Redis известен своей сверхвысокой производительностью, отличной документацией и кратким исходным кодом и используется многими крупными интернет-компаниями в стране и за рубежом, такими как Alibaba, Tencent, GitHub, Stack Overflow и т. д. Его версия обновляется очень быстро, а его функции становятся все более и более мощными.Он изначально использовался как кэш-база данных, а теперь его можно использовать для реализации очередей сообщений.

Достаточно сказать, что освоение Redis стало важным навыком для бэкэнд-инженеров.

Автор Redis - итальянец с онлайн-именем Antirez.Внешность у него пока приличная.Заинтересованные друзья могут погуглить. Есть идеи, почему порт по умолчанию для Redis — 6379?

Говорят, что это определяется положением «MERZ» на клавиатуре мобильного телефона.Друзья могут открыть клавиатуру Jiugongge на своем мобильном телефоне и почувствовать ее. Что означает «МЕРЗ»? Говорят, что это означает «глупый». Этот? Вы чувствуете, что в жизни программиста еще много загадок?

02. Установите Redis

Redis имеет разные методы установки для разных операционных систем.Давайте возьмем Windows в качестве примера для этой вводной статьи.

Адрес загрузки следующий:

GitHub.com/Microsoft AR…

Последняя версия Windows — 3.2.100. Как видно из рисунка ниже, размер Redis очень легкий, меньше 6M. Чем меньше размер, тем более мощным Redis кажется мне. Вы тоже так считаете?

Существует два метода установки: первый — это метод msi, который устанавливается после двойного щелчка для запуска; второй — зеленая версия без установки, просто разархивируйте zip-пакет.

Существует англоязычная версия документа — Windows Service Documentation.docx, в которой рассказывается, как установить службу Redis, как запустить, как завершить работу и как запустить службу с настраиваемым портом.

Откройте командную строку, введите текущий распакованный каталог и введите команду запуска:

redis-server redis.windows.conf

После запуска Redis вы увидите экран приветствия Поле слева кажется таким художественным! Кто-нибудь знает, как его сгенерировать?

Есть и другие подсказки:

  • Текущая версия Redis — 3.2.100.
  • порт 6379
  • ID процесса, то есть PID 12636
  • Официальный адрес Redis: http://redis.io

Итак, как остановить службу? можно напрямую нажатьCtrl+CКомбинации клавиш - грубая, настенная (конечно, можно и сразу нажать на крестик в правом верхнем углу).

PS: Изначально я хотел использовать Linux-версию или OSX-версию, потому что боялся, что у новичков не будет среды. Сзади может быть один.

03. Структура данных Redis

Redis имеет 5 основных структур данных: String, Hash, List, Set, SortedSet, которые также необходимы для изучения Redis. Кроме того, существуют HyperLogLog, Geo, Pub/Sub, представляющие собой расширенные структуры данных. Давайте возьмем String в качестве примера в этой вводной статье.

Строковая структура широко используется.Например, информация для входа пользователя преобразуется в строку JSON, затем кэшируется, а затем снова десериализуется, когда ее необходимо получить.

Всем друзьям следует знать, что строка Java неизменяема и не может быть изменена. Строка Redis является динамической и может быть изменена. Что касается структуры String в Redis, я думаю, что руководство Лао Цяня по Redis объясняет это очень четко, давайте прочитаем его вместе.

Строка Redis похожа на ArrayList в Java с точки зрения внутренней структуры и использует предварительно выделенное избыточное пространство для сокращения частого выделения памяти. Как показано на рисунке выше, пространство, фактически выделенное текущей строкой, представляет собой емкость, которая обычно больше фактической длины строки len. Когда длина строки меньше 1M, расширение кратно существующему пространству; если длина превышает 1M, расширение увеличит пространство только на 1M. Максимальная длина 512M.

04. Практичный Редис

Хорошо, хорошо, я думаю, многие из моих друзей готовы пойти и приготовиться сделать это. Сейчас начнется.

В каталоге распаковки Redis есть файл с именем redis-cli.exe Это клиентский инструмент, поставляемый с Redis, который можно использовать для подключения к службе Redis, которую мы запустили ранее. Дважды щелкните, чтобы запустить его.

Этот клиент по-прежнему очень умный, когда вы набираете команду, он выдает соответствующее приглашение.

Когда вы нажимаете пробел, чтобы следовать ключевому слову, подсказка в соответствующей позиции автоматически исчезает.

Ниже приведена полная команда проверки пары ключ-значение, и друзья могут попрактиковаться в ней в соответствии с форматом.

> set name cmower
OK
> get name
"cmower"
> exists name
(integer) 1
> del name
(integer) 1
> get name
(nil)

1) Команда set используется для хранения пары ключ-значение.В этом примере имя — это ключ, а cmower — это значение.

2) Команда get используется для получения пары ключ-значение.

3) Команда exists используется для проверки существования пары ключ-значение,(integer) 1значит существовать,(integer) 0Указывает, что его не существует.

4) Команда del используется для удаления пары ключ-значение,(integer) 1Указывает, что выполнение прошло успешно,(integer) 0Указывает, что выполнение не удалось.

5) Когда пара ключ-значение удалена, а затем получена с помощью команды get, результат(nil).

Некоторым друзьям может быть любопытно,nilЧто значит? Это ключевое слово в таких языках программирования, как Objective-C, Swift, Ruby, Lua и т. д. Для более подробного объяснения см. «Программирование на Lua Programming Second Edition»:

nil — это тип, он имеет только одно значение nil, его основная функция — различать любое другое значение, как упоминалось ранее, значение по умолчанию глобальной переменной перед первым присвоением — nil, присвоение nil глобальной переменной эквивалентно удаляя его, а Lua использует nil для случая "незначения", то есть случая, когда допустимого значения вообще нет.

Чтобы узнать, как использовать команды Redis, вы можете обратиться к следующим ссылкам:

redisdoc.com/index.html

даRedis Command Referenceа такжеRedis DocumentationКитайская версия перевода, совесть, не так ли?

05. Использование Redis в Java

Некоторые друзья могут спросить: «Второй брат, я Java-программист, как я могу использовать Redis в Java?» Этот вопрос хорошо задан, вот он, вот он.

Первый шаг — добавить в проект зависимости Jedis (смесь Java и Redis):

<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>3.2.0</version>
</dependency>

Второй шаг — создать новый класс UserInfo (информация о пользователе):

public class UserInfo {
    private String name;
    private int age;

    public UserInfo(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "UserInfo{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

    // getter / setter
}

Третий шаг — добавить в проект зависимости Gson (для сериализации и десериализации пользовательской информации):

<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.6</version>
    <scope>compile</scope>
</dependency>

Четвертый шаг — создать новый тестовый класс RedisTest:

public class RedisTest {
    private static final String REDIS_KEY = "user";
    public static void main(String[] args) {
        Jedis jedis = new Jedis("localhost", 6379);

        Gson gson = new Gson();
        UserInfo userInfo = new UserInfo("沉默王二", 18);

        jedis.set(REDIS_KEY, gson.toJson(userInfo));
        UserInfo getUserInfoFromRedis = gson.fromJson(jedis.get(REDIS_KEY),UserInfo.class);

        System.out.println("get:" + getUserInfoFromRedis);

        System.out.println("exists:" + jedis.exists(REDIS_KEY));
        System.out.println("del:" + jedis.del(REDIS_KEY));
        System.out.println("get:" + jedis.get(REDIS_KEY));
    }
}

1) Константа REDIS_KEY — это ключ для хранения информации о пользователе в Redis.

2) С помощью Jedis подключение Java к сервису Redis становится очень простым, требуется всего одна строка кода:

Jedis jedis = new Jedis("localhost", 6379);

Параметрами являются имя хоста и номер порта соответственно.

хранить пары ключ-значениеset()способ получить пару ключ-значениеget()метод, чтобы определить, существует ли пара ключ-значениеexists()метод, удалите пару ключ-значение с помощьюdel()метод.

3) Gson — это библиотека с открытым исходным кодом, предоставленная Google, которая может сериализовать объекты Java в строки JSON, а также может десериализовать (разбирать) строки JSON в соответствующие объекты Java.

Он также очень прост в использовании,toJson()метод преобразует объект в строку JSON,fromJson()метод для десериализации строки JSON в объект.

Что ж, давайте посмотрим на вывод программы:

get:UserInfo{name='沉默王二', age=18}
exists:true
del:1
get:null

Именно то, что мы ожидали, идеально!

06. Спасибо

Ну что же, дорогие мои друзья, на этом и закончилось содержание данной статьи. Хотите попрактиковаться в Redis после прочтения? Спешите и действуйте! Если у вас возникнут проблемы в процессе обучения, пожалуйста, не стесняйтесь общаться со мной, хотя я тоже новичок, но я полон энтузиазма.

Кроме того, если вы хотите писать статьи на уровне ворот, это лучший пример.

Я Silent King Er, интересный программист. Если вы считаете, что статья полезна для вас, пожалуйста, выполните поиск по запросу "Тихий король 2"Первый раз читаю, отвечаю"Redis"Есть и загадочная информация.

эта статьяGitHubОн был включен, и есть полные тестовые площадки для интервью на крупных заводах Добро пожаловать в Star.

Оригинальность непроста, не просите пустой билет, пожалуйста, поставьте лайк этой статье, что будет моей сильнейшей мотивацией писать больше качественных статей.