文章目录
环境
阿里云:Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-77-generic x86_64)
安装方式
Redis安装方式有多种:一种是通过apt仓库;一种是下载源码,编译安装;如果使用Mac电脑,还可以通过homebrew安装。
一. apt库
命令:
sudo apt-get update
sudo apt-get install redis-server
这种安装方式已经设置好开机自启动,所以不用再去单独设置。
二. 源码的方式
下载Redis
官网下载链接 https://redis.io/download
右键,获取下载链接,然后下载,解压,编译:
cd /opt
# 下载
wget https://download.redis.io/releases/redis-6.2.5.tar.gz
# 解压
tar -xzf redis-6.2.5.tar.gz
cd redis-6.2.5
编译
# 编译
make
编译好,会输出下面的内容:
...
Hint: It's a good idea to run 'make test' ;)
make[1]: Leaving directory '/opt/redis-6.2.5/src'
手动安装
输入以下命令
make PREFIX=/opt/redis-6.2.5 install
这里多了一个关键字 PREFIX= ,这个关键字的作用是编译的时候用于指定程序存放的路径。
比如,指定了redis必须存放在/usr/local/redis目录。假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,库文件会存放在/usr/local/lib目录,配置文件会存放在/usr/local/etc目录,其他的资源文件会存放在usr/local/share目录。
这里指定号目录也方便后续的卸载,后续直接rm -rf /opt/redis-6.2.5
即可删除redis。
输出:
cd src && make install
make[1]: Entering directory '/opt/redis-6.2.5/src'
/bin/sh: 1: pkg-config: not found
CC Makefile.dep
/bin/sh: 1: pkg-config: not found
Hint: It's a good idea to run 'make test' ;)
INSTALL redis-server
INSTALL redis-benchmark
INSTALL redis-cli
make[1]: Leaving directory '/opt/redis-6.2.5/src'
注意
如果报错:
make: *** No rule to make target 'install'. Stop.
解决:
进入/opt/redis-6.2.5 文件夹内,再执行上面的命令,就可以解决;
启动测试
在 /opt/redis-6.2.5 路径下,执行下面命令:
执行redis-server 启动redis
./bin/redis-server ./redis.conf
redis-server 后面参数是配置文件路径,目的是根据该配置文件的配置启动redis服务。redis.conf配置文件允许自定义多个配置文件,通过启动时指定读取哪个即可。
输出如下:
287812:C 12 Sep 2021 20:38:36.220 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
287812:C 12 Sep 2021 20:38:36.220 # Redis version=6.2.5, bits=64, commit=00000000, modified=0, pid=287812, just started
287812:C 12 Sep 2021 20:38:36.220 # Configuration loaded
287812:M 12 Sep 2021 20:38:36.220 * monotonic clock: POSIX clock_gettime
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 6.2.5 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 287812
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | https://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
287812:M 12 Sep 2021 20:38:36.221 # Server initialized
287812:M 12 Sep 2021 20:38:36.221 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
287812:M 12 Sep 2021 20:38:36.221 * Ready to accept connections
上面显示可以启动成功,说明安装好了。
后台启动redis
方法1:后台进程方式
执行redis-server 启动redis,命令后加个 &。
./bin/redis-server ./redis.conf &
方法2:显示启动方式
在配置文件设置了daemonize属性为yes。
查看redis是否运行
查看进程
ps -ef | grep redis
查看端口
netstat -lanp | grep 6379
关闭运行中的Redis服务
推荐: 输入redis-cli 进入控制台后输入命令shutdown
即可关闭运行中的Redis服务了,
或者,暴力方法:杀掉进程。
下面的PID用真实的替换:
kill -9 PID
设置为开机启动
参考下面的文章
三. homebrew安装与启动redis
检查是否安装成功
brew list | grep -i redis
安装
brew install redis
检测已启动的项目
brew services list
启动
brew services start redis
使用brew命令关闭redis服务
brew services stop redis
扩展
redis.conf配置文件
查看配置
通过redis-cli命令进入redis控制台后通过CONFIG GET *
的方式读取所有配置项。
redis-cli
CONFIG GET *
输入exit可以退出redis脚本控制台。
如果提示Command ‘redis-cli’ not found,通过下面的命令安装:
apt install redis-tools
重要的配置说明
这里列举下比较重要的配置项
配置项名 | 配置项值范围 | 说明 |
---|---|---|
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为数值。 |
修改redis密码
临时修改密码
1、进入redis操作的命令行
运行命令:redis-cli
2、查看现有的redis密码(可选操作,可以没有)
运行命令:config get requirepass,如果没有设置过密码的话,运行结果会如下所示
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) ""
3、设置redis密码
运行命令:
config set requirepass ****(****为你要设置的密码)
设置成功的话会返回‘OK’字样
4、再次查看当前redis就提示需要密码:
127.0.0.1:6379> config get requirepass
(error) NOAUTH Authentication required.
5、exit退出当前的命令行模式后运行命令进入,即可有权限查看:
redis-cli -h 127.0.0.1 -p 6379 -a ****(****为你新设置的密码)
或者,这样安全一些,推荐下面的写法:
redis-cli -h 127.0.0.1 -p 6379
auth ****(****为你新设置的密码)
注:这种方式redis服务一关闭,密码就清空或者恢复为你配置文件里面的密码。下面的第6步可以解决这个问题
6、但是也可以通过,下面的命令,把密码写到配置文件,系统重启时密码也不会丢失:
127.0.0.1:6379> config rewrite
OK
永久修改密码
打开redis配置文件redis.conf,在里面找到requirepass,这个是设置redis访问的密码的,把注释去掉,并把foobared改成你想要的密码。
然后,重启redis服务。
再此进入:
redis-cli -h 127.0.0.1 -p 6379
auth ****(****为你新设置的密码)
查看redis版本号
Linux下查看
linux下查看redis的版本有两种方式:
查看服务端版本
二者都可以
redis-server -v
redis-server --version
查看客户端版本
二者都可以
redis-cli -v
redis-cli --version
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/155675.html