linux安装redis
1.检查安装依赖程序
CentOS 7
$ yum install gcc-c++
$ yum install -y tcl
$ yum install wget
- 报错:You need to be root to perform this command 需要root权限执行操作
$su
回车输入密码 - yum是CentOS命令,其他redis系统如Ubuntu执行报错:
Command ‘yum’ not found, but can be installed with:
sudo apt install yum
2.获取安装文件
$:wget http://download.redis.io/releases/redis-5.0.5.tar.gz
- 默认下载是当前路径 /home/user/redis-5.0.5.tar.gz
3.安装文件
- 解压文件
$tar -zxvf redis-5.0.5.tar.gz
- 移动文件
$mv redis-5.0.5 /usr/local
- 打开目录
$cd /usr/local/redis-5.0.5/
- 编译安装
编译
$make
安装到 /usr/local/redis,安装之后redis目录下有bin目录
$make PREFIX=/usr/local/redis install
- 设置配置文件路径
/usr/local/redis-5.0.5下有redis.conf
把配置文件移动到 /usr/local/redis/bin
$cp redis.conf /usr/local/redis/bin
(复制完成可以删除redis-5.0.5) - 修改配置文件
redis.conf是redis的配置文件,redis.conf在redis源码目录。
注意修改port作为redis进程的端口,port默认6379。如果需要搭建redis集群,千万别忘了修改端口号。
- redis有两种启动方式
01:直接运行bin/redis-server将以前端模式启动,前端模式启动的缺点是ssh命令窗口关闭则redis-server程序结束,不推荐使用此方法。
02:后端模式启动
修改redis.conf配置文件, daemonize yes 以后端模式启动。推荐!
打开redis.conf,使用命令 /daemonize 快速查找到daemonize然后修改。
$vi /usr/local/redis/bin/redis.conf
/daemonize
按i编辑,编辑好按Esc,保存
/wq
仅修改: daemonize yes (no–>yes)
- 启动服务
/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
- 查看服务
ps -ef | grep redis
ps -ef 输出信息的具体含义 - 使用客户端
cd /usr/local/redis/bin/
./redis-cli
- 报错:Could not connect to Redis at 127.0.0.1:6379
启动客户端前必须启动redis-server
测试
>set name zero
OK
> get name
“zero”
- 退出客户端
quit
- 不设置生存时间的缓存,退出后缓存失效,再次get name为空nil
Redis设置和更新Key的过期时间
重新进入redis客户端,set name zero
设置缓存生效时间
EXPIRE name 300
查看缓存生效时间
ttl name
- linux系统重启后,redis缓存失效
编辑 sysctl.conf 配置文件
vi /etc/sysctl.conf
另起一行增加参数 vm.overcommit_memory 配置,如下
vm.overcommit_memory = 1
使配置文件生效
$sysctl -p
- 开机启动服务
chmod +x /etc/rc.local
chmod +x /etc/rc.d/rc.local
echo "/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf" >> /etc/rc.local
- 设置密码
修改redis.conf文件配置
cd /usr/local/redis/bin/
vi redis.conf
使用命令 /requirepass 快速查找到 # requirepass foobared 然后去掉注释,这个foobared改为自己的password。然后wq保存。
重启redis
ps -ef|grep redis
杀掉redis-server
kill -9 PID
这个时候尝试登录redis 发现可以登上,但是执行具体命令是提示操作不允许
redis 127.0.0.1:6379>get name
报错 (error) NOAUTH Authentication required.
退出quit
尝试用密码登录并执行具体的命令看到可以成功执行
./redis-cli -h 127.0.0.1 -p 6379 -a password
127.0.0.1:6379> keys *
1 ) “name”
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> get name
(nil)
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379> get name
“zero”
13.eclipse连接redis
项目引用redis,发现连接不通,最先判断是虚拟机端口或者防火墙
1、开启端口6379
firewall-cmd --zone=public --add-port=6379/tcp --permanent
2、重启防火墙
firewall-cmd --reload
查看已经开放的端口:
firewall-cmd --list-ports
开发端口后还是连不通eclipse还是连不通
打开redis配置文件 redis.conf
添加 bind 0.0.0.0
相当于redis的白名单
https://www.cnblogs.com/shihuibei/p/9256397.html
参考文章: https://www.cnblogs.com/yunfeioliver/p/9428068.html