Приложение A. Установка среды Windows

Для тех пользователей, которые применяют Windows в качестве среды обучения мы настоятельно рекомендуем установить VirtualBox, а затем настроить в некоторой виртуальной машине операционную систему Ubuntu 16.04 {Прим. пер.: этого же можно достичь и при помощи Hyper-V}. Если же вы желаете оставаться в Windows, данное Дополнение покажет вам как для целей вашего обучения настроить некую среду Windows:

  1. Установите Ubuntu в Windows 10. Чтобы скомпилировать Redis из имеющегося исходного кода и запускать сценарии оболочки Bash для данной книги потребуется установить подсистему Ubuntu Windows 10. Для выполнения её установки вы можете следовать инструкциям из https://docs.microsoft.com/en-us/windows/wsl/about.

  2. Установите Cygwin и относящиеся к нему пакеты. В C:\tools\cygwin установите Cygwin (https://cygwin.com/setup-x86_64.exe) и выберите категории Base и Devel для установки Make, Cmake, gcc и bash:

     

    Рисунок A-1



  3. Установите Redis скомпилировав следующий код:

    
    user@DESKTOP-JUTUKJS:~$ cd /mnt/c
    user@DESKTOP-JUTUKJS:/mnt/c$ mkdir redis
    user@DESKTOP-JUTUKJS:/mnt/c$ cd redis/
    user@DESKTOP-JUTUKJS:/mnt/c/redis$ mkdir bin
    user@DESKTOP-JUTUKJS:/mnt/c/redis$ mkdir conf
    user@DESKTOP-JUTUKJS:/mnt/c/redis$ wget http://download.redis.io/releases/redis-4.0.1.tar.gz
    --2018-01-23 10:52:25--  http://download.redis.io/releases/redis-4.0.1.tar.gz
    Connecting to 127.0.0.1:1080... connected.
    Proxy request sent, awaiting response... 200 OK
    Length: 1711660 (1.6M) [application/x-gzip]
    Saving to: 'redis-4.0.1.tar.gz'
    
    redis-4.0.1.tar.gz            100%
    [=================================================>] 1.63M 270KB/s in 6.7s
    
    2018-01-23 10:52:34 (249 KB/s) - 'redis-4.0.1.tar.gz' saved
    [1711660/1711660]
    
    user@DESKTOP-JUTUKJS:/mnt/c/redis$ tar zxf redis-4.0.1.tar.gz
    
    user@DESKTOP-JUTUKJS:/mnt/c/redis/redis-4.0.1$ make
    cd src && make all
    make[1]: Entering directory '/mnt/c/redis/redis-4.0.1/src'
    CC Makefile.dep
    ...
    user@DESKTOP-JUTUKJS:~/redis-4.0.1$ make PREFIX=/mnt/c/redis install
    cd src && make install
    make[1]: Entering directory '/home/user/redis-4.0.1/src'
    CC Makefile.dep
    ...
    make[1]: Leaving directory '/mnt/c/redis/redis-4.0.1/src'
    
    user@DESKTOP-JUTUKJS:/mnt/c/redis$ cd ..
    user@DESKTOP-JUTUKJS:/mnt/c/redis$ mkdir conf
    user@DESKTOP-JUTUKJS:/mnt/c/redis$ cp redis-4.0.1/redis.conf conf/.
    
    user@DESKTOP-JUTUKJS:~$ cd
    user@DESKTOP-JUTUKJS:~$ ln -s bin /mnt/c/redis/bin
    user@DESKTOP-JUTUKJS:~$ ln -s conf /mnt/c/redis/conf
    		
  4. Настройте IDE CLion программирования C. Выгрузите CLion, IDE C/C++ из https://download.jetbrains.8686c.com/cpp/CLion-2017.2.2.exe. Затем кликните дважды по полученному файлу установки и следуйте его приглашениям для завершения требуемой установки.

  5. Затем раскройте архив файла echodemo.tar.gz. Необходимый вам исходный код предоставляется вместе с данной книгой (вы можете отыскать этот исходный код в Главе 1, Приступая к Redis), разместите его в каталоге c:\redis\redis-4.0.1. Следующий снимок экрана отображает структуру этого каталога:

     

    Рисунок A-2



  6. Откройте CLion и импортируйте необходимый проект. Убедитесь что вы не перезаписали CMakeList.txt.

    Для подготовки построения Toolchains установите необходимую среду Cygwin, переместившись в Files-> Settings-> Build, Execution, Deployment-> Toolchains, как это показано на снимке экрана ниже:

     

    Рисунок A-3



  7. В CLion откройте Терминал и сделайте папку deps. В процессе компиляции игнорируйте предупреждающие сообщения:

    
    C:\redis\redis-4.0.1>cd deps
    C:\redis\redis-4.0.1\deps>make CFLAGS=-D_WIN32 CPPDEFS=-D_WIN32 hiredis lua linenoise
    (cd hiredis && make clean) > /dev/null || true
    ...
    make[1]: Leaving directory '/cygdrive/d/redis-4.0.1/deps/linenoise'
    		
  8. Для построения исполняемых файлов воспользуйтесь в CLion Build All. Как показано ниже, вы можете кликнуть по кнопке Build All:

     

    Рисунок A-4



  9. Проигнорируйте показанные далее предупредительные сообщения и кликните по Continue Anyway:

     

    Рисунок A-5



    Вы можете обнаружить, что необходимый вам демонстрационный исходный код был скомпилирован, как это отображено на показанном далее снимке экрана:

     

    Рисунок A-6



Теперь, когда вы успешно скомпилировали необходимый исходный код своей программы demo и redis-server, вы можете обнаружить все требуемые исполняемые файлы в соответствующей папке cmake-build-debug:

 

Рисунок A-7



Запустите redis-server, именуемый в данной книге как my-redis-server , кликнув по соответствующей цели и после этого кликнув по кнопке зелёной стрелки:

 

Рисунок A-8



Как показано на следующем снимке экрана, будет запущен Сервер Redis:

 

Рисунок A-9



На данный момент для подключения к этому redis-server вы можете применять redis-cli, который мы скомпилировали на шаге 3. Выполните некие проверки и затем остановите свой экземпляр Redis:


user@DESKTOP-JUTUKJS:/mnt/c/redis$ bin/redis-cli
127.0.0.1:6379> set foo bar
OK

127.0.0.1:6379> get foo
"bar"

127.0.0.1:6379> get foo
127.0.0.1:6379> SHUTDOWN
not connected>
		

Вы также можете выполнять отладку своего redis-server устанавливая некие контрольные точки, к примеру, в основной функции main() server.c, как это показано на приводимом далее снимке экрана:

 

Рисунок A-10



Для запуска отладки кликните по кнопке Debug:

 

Рисунок A-11



Как показано на следующем снимке экрана, после этого вы можете проводить необходимую отладку:

 

Рисунок A-12