Redis7.X スタンドアロン環境ソースコードインストールガイド


序文

Redis シリーズの最初のブログはインストールとデプロイメントから始まります。ここでは最新の安定バージョンを選択します。Redis 7.0.9 Released


1. 公的書類

公式 Web サイトのアドレス: https://redis.io/docs/getting-started/installation/install-redis-from-source/

さらに、インストール プロセス中にインストール パッケージ内のファイルを表示することもできますREADME.md
ここに画像の説明を挿入
ヒント:
新しいテクノロジーを学ぶには、まず公式ドキュメントを確認することをお勧めします。これは最も詳細で理解しやすいものではないかもしれませんが、最も包括的で正確である必要があります。

2. 環境説明

  • CentOS 7.X
  • Redis 7.0.X

3. ソースコードのインストール

公式 Web サイトでは 4 つのインストール方法が提供されています。ここでは 4 番目の方法、ソース コードに基づいたインストールを紹介しますInstall Redis from Source
ここに画像の説明を挿入

1. 基本的な手順

コードは次のとおりです(例)。

//一般用户自行安装的软件都放在/usr/local/目录下
cd /usr/local/

//下载最新的稳定版本
wget https://download.redis.io/redis-stable.tar.gz

//解压
tar -xzvf redis-stable.tar.gz
cd redis-stable

//编译,需要gcc编译器
make

//测试:官方建议操作,但比较耗时,可以跳过,需要tcl 8.5
//make test

//安装服务
make install

//启动redis服务
redis-server

make install の手順: make install コマンドは、デフォルトで
サービスを ディレクトリにインストールします/usr/local/redis-stable/src/インストール ディレクトリを再指定する場合は、PREFIX パラメータを適用できます。/usr/local/bin/
ここに画像の説明を挿入

ここに画像の説明を挿入

redis-server サービスが正常に開始されました。ここに画像の説明を挿入

2. 異常記録

1) make コンパイル例外: make[3]: cc: コマンドが見つかりません

ここに画像の説明を挿入
解決策:
理由は、CentOS7 仮想マシン システムに gcc がないためです。そのため、gcc をインストールするだけです。

yum -y install gcc

2) コンパイル例外を作成します: zmalloc.h:50:31: 致命的なエラー: jemalloc/jemalloc.h: そのようなファイルまたはディレクトリはありません

ここに画像の説明を挿入解決策:
解凍時に gcc コンパイラが事前にインストールされていなかったため、最初の make で多くのガベージの問題が発生しました。
このとき、以前のコンパイルファイルを削除し、再度メイクコンパイル操作を実行する必要があります。

cd /usr/local/
rm -fr redis-stable
tar -xzvf redis-stable.tar.gz
cd redis-stable
make

make distcleanこのコマンドを使用して、コンパイル前に make を実行して生成されたキャッシュ ファイルをクリアし、再コンパイルすることもできます。

make distclean
make

3)make test异常:Redisテストを実行するにはtcl 8.5以降が必要です

ここに画像の説明を挿入
解決:

yum install -y tcl-devel

ソース コードを通じてインストールすることもできますが、ダウンロード速度が非常に遅くなります。

wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
tar xzvf tcl8.6.1-src.tar.gz  
cd  /usr/local/tcl8.6.1/unix/
./configure
make
make install

テストに合格しました:
ここに画像の説明を挿入

3. テストサービス

新しい接続ウィンドウを開き、redis-cli を使用して Redis サービスをテストします。

[root@localhost ~]# cd /usr/local/
[root@localhost local]# redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set laowan 666
OK
127.0.0.1:6379> get laowan
"666"
127.0.0.1:6379> incr mycounter
(integer) 1
127.0.0.1:6379> incr mycounter
(integer) 2
127.0.0.1:6379> exit

4. 基本構成

ここでは、redis ディレクトリにあるデフォルトの構成ファイル redis.conf を直接変更します。新しい構成ファイルをコピーして、プロパティを編集することもできます。

cd /usr/local/redis-stable
vi redis.conf 
# 设置redis服务监听的实例,只有绑定IP的服务器才能访问redis服务,这里设置为全部开放,可以改为自己需要访问redis服务器的具体IP
bind * -::*

#保护模式,默认开启,此时远程服务器需要密码才能访问redis服务
protected-mode yes

#守护进程启动,也就是后台启动,会将进程pid写入/var/run/redis.pid文件中,systemd下无效
daemonize yes
#配置pid文件的保存地址
pidfile /var/run/redis_6379.pid

#日志等级
loglevel notice
#日志文件,默认/dev/null
logfile ""

#认证配置
#redis7中推荐采用acl认证
#aclfile /etc/redis/users.acl
#密码认证
requirepass 123456

#设置最大内存,避免Redis使用的内存达到系统限制时会因内存不足而崩溃
maxmemory 1g
#过期淘汰策略,默认是noeviction不淘汰,这里设置为淘汰最不经常使用的过期key
maxmemory-policy volatile-lfu

5. その他の推奨構成

Redis 起動ログにいくつかの警告 ⚠️ 情報があることがわかります。プロンプトに従って最適化を試みてください。
ここに画像の説明を挿入

  • TCP バックログ バックログ設定。ソケット リスニング (リッスン) のバックログの上限を示します。バックログはソケットのリスニング キューです。リクエスト (リクエスト) が処理または確立されていない場合、バックログに入ります。デフォルト/proc/sys/net/core/somaxconn値は 128 ですが、小さすぎるため増やす必要があります
  • メモリのオーバーコミットを有効にする: vm.overcommit_memory = 1/etc/sysctl.conf に追加し、sysctl vm.overcommit_memory=1 を実行して構成を有効にします。
  • カーネル機能の透過ヒュージ ページをオフにします。これは、メモリ使用量と遅延に悪影響を与える可能性があります。echo never > /sys/kernel/mm/transparent_hugepage/enabled
  • スワップ メモリの使用を削減し、パフォーマンスを向上させます。

/etc/sysctl.conf に以下を追加します。

//开启内存过量使用,避免后台保存或复制可能会在内存不足的情况下失败。 被禁用时,它也可能在没有低内存条件的情况下导致失败
vm.overcommit_memory = 1

//TCP积压backlog设置
net.core.somaxconn = 2048

//可以打开的最大文件数
fs.file-max = 6553560

//尽量少使用swap空间,swappiness=0的时候表示最大限度使用物理内存,然后才是swap空间,swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。linux的基本默认设置为60
//由于内存的速度会比磁盘快很多,这样子会加大系统IO,同时造的成大量页的换进换出,严重影响系统的性能,所以我们在操作系统层面,要尽可能使用内存,对该参数进行调整
vm.swappiness = 1

次のコマンドを実行してパラメータを有効にします

sysctl -p

6. リモート接続

RedisInsight は、公式 Web サイトで推奨されている Redis 視覚化クライアント ツールであり、最高の Redis GUI として知られています。
ここでは、これを使用して Redis サービスのリモート接続をテストします。

RedisInsight のダウンロード リンク
ここに画像の説明を挿入

ここで私の仮想マシンの IP は 192.168.206.129、接続情報:
ここに画像の説明を挿入
接続は成功しました:
ここに画像の説明を挿入
ここに画像の説明を挿入

Redis-6.x のインストールとトラブルシューティング
Linux で swappiness パラメータを設定して、スワップ パーティションの使用を開始する前に使用するメモリ量を構成する

おすすめ

転載: blog.csdn.net/w1014074794/article/details/129352185