2021/03/05

Redis インストール

brew コマンドで redis をインストールします。


$ brew update
$ brew install redis

brew で redis サーバを起動します。


$ brew services start redis

redis サーバが起動しているか確認します。


$ brew services list
Name          Status  User Plist
mysql         started yoo  /Users/yoo/Library/LaunchAgents/homebrew.mxcl.mysql.plist
php@7.4       started yoo  /Users/yoo/Library/LaunchAgents/homebrew.mxcl.php@7.4.plist
postgresql@12 started yoo  /Users/yoo/Library/LaunchAgents/homebrew.mxcl.postgresql@12.plist
redis         started yoo  /Users/yoo/Library/LaunchAgents/homebrew.mxcl.redis.plist

redis-cli の確認

Redis クライアントでログインし、Redis コマンドで操作してみます。

redis-cli ログイン


$ redis-cli

データ登録


127.0.0.1:6379> set mykey "hello"
OK

データ取得


127.0.0.1:6379> get mykey
127.0.0.1:6379> keys *
1) "mykey"

全データ取得


127.0.0.1:6379> keys *
(empty array)

データ削除


127.0.0.1:6379> del mykey
(integer) 1

ログアウト


127.0.0.1:6379> exit

phpredis のインストールと設定

macOS の PHP で Redis を利用するには、PECL で Redis をインストールと設定する必要があります。


$ pecl install redis

php.ini で redis.so を読み込む

php.ini ファイルをパスを確認します。 以下は /usr/local/etc/php/7.4/php.ini になっていますが、各環境で確認してください。


$ php -r "echo phpinfo();" | grep "php.ini"
Configuration File (php.ini) Path => /usr/local/etc/php/7.4
Loaded Configuration File => /usr/local/etc/php/7.4/php.ini

確認した php.ini を修正し redis.so を読み込むよう設定します。


extension="redis.so"

PHP 再起動

PHP を再起動します。以下は php@7.4 をインストールして有効にしている場合です。 (インストールしているパッケージにあわせてください)


$ brew services restart php@7.4

$ php -i | grep Redis

  2020/12/24

brew upgrade をしてしまい、PHP8.0 にアップグレードしてしまいました。

Homebrew でインストール済みの PHP バージョンを確認します。


% brew search php      
==> Formulae
brew-php-switcher   php-cs-fixer        php@7.4             phpmyadmin ✔
php ✔               php@7.2             phplint             phpstan
php-code-sniffer    php@7.3 ✔           phpmd               phpunit

PHP7.4 をインストールしていなかったのでインストールします。


% brew install php@7.4

パスを通す

PHP7.4 のパスを通します。 Zsh を利用しているので .zshrc にパスを記述します。(Bash 利用の人は .bashrc)


export PATH="/usr/local/opt/php@7.4/sbin:$PATH"
export PATH="/usr/local/opt/php@7.4/bin:$PATH"

brew services で PHP7.4 を有効にする

brew services で PHP7.4 を再起動して有効にします。


% brew services start php@7.4

ターミナルを再起動してバージョン確認

ターミナルを再起動して、PHP のバージョンを確認します。


% php -v
PHP 7.4.13 (cli) (built: Nov 30 2020 14:57:43) ( NTS )

  2020/12/12

zsh の切り替え


$ chsh -s /bin/zsh

ターミナルで再ログインして zsh が利用できることを確認します。

zsh になると、ターミナルのニュー力モードで「$」から「%」に変わります。


% cd

起動スクリプトの移行

zsh の関連ファイルが作成されているので、bash で登録していた自分の設定は再度移行しておきましょう。


% ls -al |grep '.zsh*'
-rw-------    1 yoo   staff        245 12 12 13:49 .zsh_history
drwx------    5 yoo   staff        160 12 12 13:49 .zsh_sessions
-rw-r--r--    1 yoo   staff        198  9 25  2019 .zshrc
bash zsh
~/.bash_profile ~/.zprofile
~/.bashrc ~/.zshrc
~/.bash_profile ~/.zprofile
~/.bash_logout ~/.zlogout

.bash_profile の bash 処理は無効

自分の場合 .bash_profile にカスタマイズ設定を記述していたので、.zprofile にコピーしました。


% cp .bash_proile .

当然ながら bash に関する処理は動作しないないので、書き換えないし無効にします。

自分の場合、GCP CLI や AWS CLI の bashスクリプトが動作しているので、これらは手動で書き換えました。

GCP CLI の例


# The next line updates PATH for the Google Cloud SDK.
if [ -f '/Users/yoo/gcp/google-cloud-sdk/path.zsh.inc' ]; then . '/Users/yoo/gcp/google-cloud-sdk/path.zsh.inc'; fi

# The next line enables shell command completion for gcloud.
if [ -f '/Users/yoo/gcp/google-cloud-sdk/completion.zsh.inc' ]; then . '/Users/yoo/gcp/google-cloud-sdk/completion.zsh.inc'; fi

AWS CLI の例

AWS:コマンド補完」参照


% autoload bashcompinit && bashcompinit
% complete -C '/usr/local/aws/bin/aws_completer' aws

Homebrew

Homebrew のアップデートをしたら、Cask の shallow clone のエラーになりました。


 % brew update
Error: homebrew-core is a shallow clone. To `brew update` first run:
...

その前に Big sur にしたので Xcode もアップデートする必要があります。よって Homebrew を 1からインストールして Xcode command line ツールをインストールします。。


% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

この辺は、Xcode を最初にアップグレードしてもよいかと思います。/p>

brew update で Git コマンドで解消してくださいと、警告が出ていたのでこれを実行します。


% git -C "/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask" fetch --unshallow

完了したら brew を update & upgrade します。


 % brew update
 % brew upgrade

  2020/08/17

Mac でそのまま ifconfig を利用すると、IP アドレスがすぐに見つけられません。


$ ifconfig
lo0: flags=8049 up,loopback,running,multicast  mtu 16384
	options=1203 rxcsum,txcsum,txstatus,sw_timestamp 
	inet 127.0.0.1 netmask 0xff000000 
...

ネットワークインターフェイスを指定する

ネットワークインターフェイスを指定すると比較的見やすくなります。


$ ifconfig en0
en0: flags=xxxxxxxxxx mtu 1500
    ether xx:xx:xx:xx:xx:xx
	inet6 xx:xx:xx:xx:xx:xx%en0 prefixlen 64 secured scopeid 0x7 
	inet 192.168.1.6 netmask 0xffffff00 broadcast 192.168.1.255
    ....

「en0」は PC のネットワークボードによってことなりますが、デフォルトはだいたい「en0」です。

フィルタリングする

更に awk で inet の欄をフィルタリングします。


$ ifconfig en0 | awk '/inet / { print $2 }'
192.168.1.6

.bashrc にエイリアスを作成する

フィルタリングのコマンドを打つのも面倒なので、.bashrc に ip というエイリアスを作成します。
※エイリアス名の ip は簡略化しているので自己責任で

vi などで .bashrc を編集します。


$ vi ~/.bashrc

.bashrc に追加しますが、「'」(シングルクォート)は「'\''」とエスケープする必要があります。


alias ipconfig='ifconfig en0 | awk '\''/inet / { print $2 }'\'''

.bashrc を再読み込みします。


$ source ~/.bashrc

ip と入力すると IPアドレスが表示されます。


$ ip
192.168.1.6
<< Top < Prev Next > Last >>