Redis の導入および視覚化ツールのインストールの詳細と Redis の基本手順 (Xiaobai++)

1. Redisの導入とインストール

1.1 Redis の概要

Redis (Remote Dictionary Server)、つまりリモート辞書サービスは、ANSI C 言語で書かれたオープンソースで、ネットワークをサポートし、メモリベースまたは永続的なログタイプ、Key-Value データベースをサポートし、複数の言語で API を提供します。2010 年 3 月 15 日以降、Redis の開発は VMware によってホストされ、2013 年 5 月以降、Redis の開発は Pivotal によって後援されています。

Redis では何ができるのでしょうか?

  1. メモリストレージ、永続性は電源を切ると失われるため、永続性は非常に重要です。Redis は 2 つのメカニズム (RDB と AOF) を使用します。
  2. 高効率、高速効率に使用可能
  3. パブリッシュ・サブスクライブ・システム
  4. 地図情報解析
  5. カウンターなど、Web サイトのビュー

Redisの機能/特徴

  1. さまざまなデータ型
  2. 持久化
  3. 集まる
  4. 事務など

1.2 CentOS7にRedisをインストールする

1.2.1 gccのインストール

Linux の gcc は、GNU によって開発された優れたパフォーマンスを備えた強力なマルチプラットフォーム コンパイラーです。gcc コンパイラは、C および C++ 言語のソース プログラムとオブジェクト プログラムをコンパイルし、実行可能ファイルにリンクできます。Linux の gcc は、GNU によって開発された優れたパフォーマンスを備えた強力なマルチプラットフォーム コンパイラーです。gcc コンパイラは、C および C++ 言語のソース プログラムとオブジェクト プログラムをコンパイルし、実行可能ファイルにリンクできます。Linuxgccは、 GNUによって起動された優れたパフォーマンスを備えた強力なマルチプラットフォーム コンパイラですg ccコンパイラはC Cを変換できます。++言語ソースプログラムとターゲットプログラムはコンパイルされ、実行可能ファイルにリンクされます。

Redis は C++ 環境に依存するため、C++ をインストールする必要があります

yum install gcc-c++

gcc -v でバージョンを確認できます

gcc -v

redis7.* では 4 を個別に実行するために上位バージョンの gcc のサポートが必要なため、バージョンをアップグレードします。

yum -y install centos-release-scl 
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils #修改使用版本
scl enable devtoolset-9 bash 
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

引き続き gcc バージョンの 9.* へのアップグレードを確認して、インストールを完了します。

1.2.2 Redis をダウンロードしてインストールする

redis は Windows と Linux にインストールして使用できますが、Windows システムのバージョンは長い間停止されているため、使用することはお勧めできません。

公式サイト https://redis.io/ 中国語サイト http://www.redis.cn/

ツールを使用して、インストール ファイルを opt フォルダーの下に置きます。

注: システム アプリケーションが Java の場合は /usr/local にインストールし、ユーザーレベルのアプリケーションの場合は opt の下に置きます。

フォルダーを解凍します。

tar  -zxvf  redis-7.0.5 .tar.gz

解凍後、redis フォルダーに入ってファイルを表示します。

[root@lixp ~]#   cd redis-7.0.5

[root@lixp redis-7.0.5]#  ls

コンパイル: 必要な構成を構成するのに役立ちます

make #注意需要在解压后的redis文件夹中执行
这一步就是编译,大多数的源代码包都经过这一步进行编译(当然有些perl或python编写的软件需要 调用perl或python来进行编译)。如果 在 make 过程中出现 error ,就要记下错误代码(注意不仅仅 是最后一行),然后可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址)。或者系统少了 一些依赖库等,这些需要自己仔细研究错误代码。make 的作用是开始进行源代码编译,以及一些功能 的提供,这些功能由他的 Makefile 设置文件提供相关的功能。比如 make install 一般表示进行安装, make uninstall 是卸载,不加参数就是默认的进行源代码编译。make 是 Linux 开发套件里面自动化 编译的一个控制程序,他通过借助 Makefile 里面编写的编译规范进行自动化的调用 gcc 、ld 以及运行 某些需要的程序进行编译的程序。


Redisをインストールする

make install

このコマンドはインストールに使用されます (もちろん、一部のソフトウェアでは最初にいくつかのテストのために make check または make test を実行する必要があります)。この手順では通常、root 権限が必要です (システムにファイルを書き込む必要があるため)。

コマンド拡張 - ソフトウェアのインストールプロセス

1、解zhi包软件 tar zxf xxxx.tgz 

2、配置 cd xxxx ./configure 

3、编译 make 

4、安装 make install 

5、卸载 make uninstall

Redis環境サービスがどこにあるか確認する

テストを開始する

redis-server
redis-server redis-config #后面是配置文件路径

1.2.3 Redis を構成する

vimエディタをインストールする

yum  -y  install vim

バックアップファイル

redis 設定ファイルと同じ階層にフォルダーを作成し、そのフォルダーに redis.conf ファイルを cp します。この cp ファイルは今後の運用に使用します。元のオリジナルは変更されません。

#进入到redis目录下
[root@lixp redis-7.0.5]# cd /opt/redis-7.0.5
#复制一份redis.conf文件,防止源文件损坏,备份。
[root@lixp redis-7.0.5]# cp redis.conf ./redis0.conf 
[root@lixp redis-7.0.5]# ll

バックグラウンド起動を変更する

vim redis-conf

redisを再起動してテストを確認します

[root@lixp redis-7.0.5]# redis-server /opt/redis-6.0.6/it-sunwz/redis.conf

進行状況を表示する

ps -aux | grep redis

ps -ef | grep redis

クライアント接続テスト

[root@lixp redis-7.0.5]#  redis-cli -h 127.0.0.1 -p 6379 

[root@lixp redis-7.0.5]#  redis-cli -h 127.0.0.1 -p 6379 --raw #支持中文显示

クライアントIOテスト

set name 张三

get name

keys *

クライアントを終了してサービスを終了する

 # 退出客户端 
  exit 
 # 结束服务方式1 客户端内直接输入 
 shutdown shutdown 
 # 结束服务方式2 客户端外直接输入命令 
 redis-cli shutdown

ファイアウォールコマンドの拡張

启动防火墙:systemctl start firewalld 
关闭防火墙:systemctl stop firewalld 
检查防火墙状态:systemctl status firewalld 
设置开机启用防火墙:systemctl enable firewalld.service 
设置开机禁用防火墙:systemctl disable firewalld.service · 
关闭防火墙:systemctl stop firewalld 
设置开机禁用防火墙:systemctl disable firewalld.service

1.2.4 Redis スイッチ

最初のタイプ: クライアントの終了後

[root@lixp redis-7.0.5]#  redis-cli shutdown

2 番目: クライアント内で直接 (推奨)

127.0.0.1:6379>shutdown

1.3 Redis可視化ツールのインストール

Redis Desktop Manager (Redis 視覚化ツール) のインストールと使用

デフォルトでは接続できません

ポートを開くようにファイアウォールを構成する

firewall-cmd --add-port=6379/tcp --permanent

firewall-cmd --remove-port=8888/tcp --permanent

firewall-cmd --list-ports

Redis サービスにはデフォルトで保護メカニズムがあり、デフォルトのメカニズム ルールでは、現在 Redis サービスがインストールされているコンピューターのみが 127.0.0.1 へのアクセスを許可されます。

デフォルトでは、redis の構成ファイルでは IP アドレスが 127.0.0.1 にバインドされていますが、リモート アクセスをサポートするには、このアドレスをコメント アウトする必要があります。

Redis サービスを再起動します


ここに画像の説明を挿入

1.4 Redis を始める

1.4.1 Redisスレッドの問題について

Redis はシングルスレッドですが、なぜシングルスレッドがこれほど高速なのでしょうか?

Redisのデータ構造は単純なKey-Valueだけではなく、リストやハッシュなどの複雑な構造もあります。これらの構造は、長いリストの末尾への要素の追加、ハッシュ内のオブジェクトの追加または削除など、非常にきめの細かい操作を実行できます。これらの操作には大量のロックが必要となる場合があり、その結果、同期オーバーヘッドが大幅に増加します。つまり、シングルスレッドの場合、コードはより明確で、処理ロジックはより単純で、さまざまなロックを考慮する必要がなく、ロックの解放操作がなく、デッドロックの可能性によるパフォーマンスの消費がなく、プロセスやマルチスレッドによる切り替えは CPU を消費します。シングルスレッド マルチプロセス クラスター ソリューション シングル スレッドの能力は実際に非常に強力であり、コアあたりの効率も非常に高くなります。マルチスレッドにはシングル スレッドよりも高いパフォーマンス制限が当然ありますが、今日のコンピューティング環境では、単一マシンのマルチスレッドの上限ですらニーズを満たすことができないことがよくあります。サーバー クラスタリング 計画内のマルチスレッド テクノロジはまだ利用できません。したがって、シングルスレッド、マルチプロセスのクラスターは流行のソリューションです。CPU の消費はシングルスレッドであるため、不必要なコンテキストの切り替えや競合状態が回避され、マルチプロセスやマルチスレッドによって発生する切り替えによって CPU が消費されることはありません。しかし、CPU が Redis のボトルネックになった場合、またはサーバーの他の CPU コアをアイドル状態にしたくない場合はどうすればよいでしょうか? いくつかの Redis プロセスが考えられますが、Redis はリレーショナル データベースではなくキーと値のデータベースであり、データ間に制約はありません。どのキーがどの Redis プロセスに配置されているかをクライアントが区別できる限り。

1.4.3 redisの基本コマンド

データベース切り替え操作

127.0.0.1:6379> PING #检查连接 
PONG 
127.0.0.1:6379> SELECT 15
OK 
127.0.0.1:6379[15]> SELECT 16 #一共16个库 0-15
(error) ERR DB index is out of range 
127.0.0.1:6379[15]> SELECT 0 #默认是0 不显示索引
OK 
127.0.0.1:6379>

現在のデータベースを表示する

127.0.0.1:6379> SET student zhangsan #增加一个数据
OK
127.0.0.1:6379> SET student lisi #相同key增加一个数据 会覆盖掉
OK
127.0.0.1:6379> GET student # 取值
"lisi"
127.0.0.1:6379> KEYS * # 查看所有的key
1) "list11"
2) "student"
3) "user:1:age"
4) "user:1:name"
127.0.0.1:6379>

データベース内のデータをクリアする

lushdb は現在のデータベースを削除します。前提条件は現在のデータベースに入る必要があります。

flashall はすべてのライブラリを削除します

127.0.0.1:6379> SET student zhangsan #在索引0库加信息
OK
127.0.0.1:6379> SET teacher lisi #在索引0库加信息
OK
127.0.0.1:6379> select 5 #切换索引为5的库
OK
127.0.0.1:6379[5]> SET user wangwu #在索引5库加信息
OK
127.0.0.1:6379[5]> KEYS *
1) "user"
127.0.0.1:6379[5]> FLUSHDB #清除当前库
OK
127.0.0.1:6379[5]> keys *
(empty array)
127.0.0.1:6379[5]> SELECT 0
OK
127.0.0.1:6379> KEYS *
4.2.4 设置过期时间
4.2.5 查看key类型
4.2.5 查看key是否存在
5. redis数据类型
redis存在5种基本数据类型和三种特殊类型
1) "teacher"
2) "student"
127.0.0.1:6379> SELECT 5
OK
127.0.0.1:6379[5]> FLUSHALL #清空所有的库信息
OK
127.0.0.1:6379[5]> SELECT 0
OK
127.0.0.1:6379> KEYS *
(empty array)
127.0.0.1:6379>

有効期限を設定する

127.0.0.1:6379> set student jiazong
OK
127.0.0.1:6379> EXPIRE student 30 #设置过期 秒数
(integer) 1
127.0.0.1:6379> TTL student
(integer) 18
127.0.0.1:6379> TTL student
(integer) 16
127.0.0.1:6379> TTL student #查看过期时间
(integer) 14
127.0.0.1:6379> TTL student
(integer) 7
127.0.0.1:6379> TTL student
(integer) -2
127.0.0.1:6379> get student
(nil)
127.0.0.1:6379>

キーの種類を表示する

type key

キーが存在するかどうかを確認する

EXISTS key

(整数) 1
127.0.0.1:6379> TTL 学生
(整数) 18
127.0.0.1:6379> TTL 学生
(整数) 16
127.0.0.1:6379> TTL 学生 #查看过期間
(整数) 14
127.0.0.1:6379> TTL 学生
(整数) 7
127.0.0.1:6379> TTL 学生
(整数) -2
127.0.0.1:6379> 学生を取得
(nil)
127.0.0.1:6379>


 查看key类型

```shell
type key

キーが存在するかどうかを確認する

EXISTS key

おすすめ

転載: blog.csdn.net/weixin_52859229/article/details/129757611