Redis는 고성능 키-값 데이터베이스입니다. Redis의 출현은 memcached와 같은 키값 저장소의 단점을 크게 보완했으며 일부 상황에서는 관계형 데이터베이스에 대한 매우 좋은 보완 역할을 할 수 있습니다.
Redis 버전 5.0.4
서버 버전 Linux CentOS 7.6 64비트
Enter 다운로드 주소 찾기 https 공식 웹사이트: //redis.io/download
다운로드 버튼을 마우스 오른쪽 버튼으로 클릭하고 링크 복사를 선택하세요. Xshell 콘솔(기본값은 루트 디렉터리)에 들어가서 wget을 입력하고 위에서 복사한 다운로드 링크를 다음과 같이 붙여넣습니다.
wget http:``//download.redis.io/releases/redis-5.0.7.tar.gz
Enter 키를 눌러 아래와 같이 실행합니다.
다운로드를 기다립니다. 완벽한.
Unzip
다운로드가 완료된 후 압축 파일의 압축을 풀어야 합니다. 현재 디렉터리에 압축을 풀려면 다음 명령을 입력하세요.
tar -zvxf redis-5.0.7.tar.gz
압축 해제 후 루트 디렉터리에 ls를 입력하세요. 모든 디렉터리를 나열하면 redis를 다운로드하기 전에 디렉터리를 찾을 수 있습니다. 추가 redis-5.0.7.tar.gz 파일과 redis-5.0.7 디렉터리가 있습니다.
redis 디렉터리 이동
일반적으로 redis 디렉터리는 /usr/local/redis 디렉터리에 위치하게 되므로 여기에 다음 명령어를 입력하면 현재 redis-5.0.7 폴더의 디렉터리를 변경할 수 있습니다. /root 디렉터리에서 폴더 이름도 redis로 변경합니다.
mv /root/redis-5.0.7 /usr/local/redis
cd /usr/local 디렉터리로 이동하여 ls 명령을 입력하여 현재 디렉터리에 추가 redis 하위 디렉터리가 있는지, /root 디렉터리에 redis-5.0.7 폴더가 없는지 확인하세요
/usr/local/redis 디렉터리에 Compile
Cd를 입력하고 make 명령을 입력하여 컴파일 명령을 실행하면 컴파일 과정에서 출력되는 다양한 내용이 콘솔에 출력됩니다.
make
최종 실행 결과는 다음과 같습니다.
Installation
다음 명령을 입력하세요
make PREFIX=/usr/local/redis install
여기에 추가 키워드가 있습니다PREFIX= 이 키워드의 기능은 프로그램은 컴파일 중에 저장됩니다. 예를 들어, 이제 redis를 /usr/local/redis 디렉터리에 저장하도록 지정했습니다. 이 키워드를 추가하지 않을 경우 Linux에서는 실행 파일을 /usr/local/bin 디렉터리에 저장하고, 라이브러리 파일은 /usr/local/lib 디렉터리에 저장하게 됩니다. 구성 파일은 /usr/local/etc 디렉토리에 저장됩니다. 다른 리소스 파일은 usr/local/share 디렉토리에 저장됩니다. 여기에 지정된 디렉터리 번호는 이후 제거를 용이하게 하기 위해 rm -rf /usr/local/redis를 통해 redis를 직접 삭제할 수도 있습니다.
실행 결과는 아래와 같습니다.
Start redis
?
./bin/redis-server& ./redis.conf
을 시작하려면 위의 시작 방법은 백그라운드 프로세스 방법을 사용하는 것이고, 다음은 디스플레이 시작 방법을 사용하는 것입니다(만일 daemonize 속성은 구성 파일에서 yes로 설정되어 있습니다. 실제로는 백그라운드 프로세스를 시작하는 것과 같습니다.
?
./bin/redis-server ./redis.conf
두 방법의 차이점은 앰퍼샌드의 유무에 지나지 않습니다. redis-server 뒤에는 구성 파일이 옵니다. 목적은 구성 파일의 구성에 따라 Redis 서비스를 시작하는 것입니다. redis.conf 구성 파일을 사용하면 시작 시 읽을 구성 파일을 지정하여 여러 구성 파일을 사용자 정의할 수 있습니다.
在目录/usr/local/redis下有一个redis.conf的配置文件。我们上面启动方式就是执行了该配置文件的配置运行的。我么可以通过cat、vim、less等Linux内置的读取命令读取该文件。
也可以通过redis-cli命令进入redis控制台后通过CONFIG GET * 的方式读取所有配置项。 如下:
redis-cli``CONFIG GET *
回车确认后会将所有配置项读取出来,如下图
这里列举下比较重要的配置项
配置项名称 | 配置项值范围 | 说明 |
---|---|---|
daemonize | yes、no | yes表示启用守护进程,默认是no即不以守护进程方式运行。其中Windows系统下不支持启用守护进程方式运行 |
port | 指定 Redis 监听端口,默认端口为 6379 | |
bind | 绑定的主机地址,如果需要设置远程访问则直接将这个属性备注下或者改为bind * 即可,这个属性和下面的protected-mode控制了是否可以远程访问 。 | |
protected-mode | yes 、no | 保护模式,该模式控制外部网是否可以连接redis服务,默认是yes,所以默认我们外网是无法访问的,如需外网连接rendis服务则需要将此属性改为no。 |
timeout | 300 | 当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能 |
loglevel | debug、verbose、notice、warning | 日志级别,默认为 notice |
databases | 16 | 设置数据库的数量,默认的数据库是0。整个通过客户端工具可以看得到 |
rdbcompression | yes、no | 指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大。 |
dbfilename | dump.rdb | 指定本地数据库文件名,默认值为 dump.rdb |
dir | 指定本地数据库存放目录 | |
requirepass | 设置 Redis 连接密码,如果配置了连接密码,客户端在连接 Redis 时需要通过 AUTH | |
maxclients | 0 | 设置同一时间最大客户端连接数,默认无限制,Redis 可以同时打开的客户端连接数为 Redis 进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis 会关闭新的连接并向客户端返回 max number of clients reached 错误信息。 |
maxmemory | XXX | 指定 Redis 最大内存限制,Redis 在启动时会把数据加载到内存中,达到最大内存后,Redis 会先尝试清除已到期或即将到期的 Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis 新的 vm 机制,会把 Key 存放内存,Value 会存放在 swap 区。配置项值范围列里XXX为数值。 |
显示详细信息
这里我要将daemonize改为yes,不然我每次启动都得在redis-server命令后面加符号&,不这样操作则只要回到Linux控制台则redis服务会自动关闭,同时也将bind注释,将protected-mode设置为no。 这样启动后我就可以在外网访问了。
更改方式:
vim /usr/local/redis/redis.conf
通过 /daemonize 查找到属性,默认是no,更改为yes即可。 (通过/关键字查找出现多个结果则使用 n字符切换到下一个即可,查找到结果后输入:noh退回到正常模式)
如下图:
其他两个属性也是同样方式查找和编辑即可。
1、采取查看进程方式
ps -aux | grep redis
结果如下图:
2、采取端口监听查看方式
netstat -lanp | grep 6379
结果如下图:
redis-cli是连接本地redis服务的一个命令,通过该命令后可以既然怒redis的脚本控制台。如下图
输入exit可以退出redis脚本控制台
输入redis-cli 进入控制台后输入命令shutdown即可关闭运行中的Redis服务了。如下图:
如下图,已经开放了Redis服务的ip不为127.0.0.1,理论上远程客户端应该可以连接了,而且云服务器的端口号也在安全组里开放了。
后面发现是启动命令的问题,因为我比较偷懒,启动redis我都是直接输入命令 redis-server 或 redis-server& 这两种方式都是直接读取默认的配置文件启动,无非前者是显示启动后者是作为后台应用启动。我其实也很纳闷,因为我修改的就是默认的配置文件啊,我并没有重新生成新的配置文件,但是确实我输入命令 redis-server /usr/local/redis/etc/redis.conf 就是能成功,而且我输入命令redis-server& /usr/local/redis/etc/redis.conf也是远程登录失败。 关于直接输入redis-server不行的问题我还怀疑是不是Linux缓存问题,我重启服务器尝试下。结果还是一样的。。。哎先不纠结了 后续再去找原因吧
위 내용은 Linux에서 Redis를 설치하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!