REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。
Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。
Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。
1.获取redis资源
1 | wget http://download.redis.io/releases/redis-4.0.8.tar.gz |
2.解压
1 | tar xzvf redis-4.0.8.tar.gz |
3.编译与安装
1 | cd redis-4.0.8 |
4.移动配置文件到安装目录下
1 | cd ../ |
5.配置redis为后台启动
1 | vi /usr/local/redis/etc/redis.conf |
6.将redis加入到开机启动
1 | vi /etc/rc.local |
7.开启redis
1 | /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf |
8.将redis-cli,redis-server拷贝到bin下,让redis-cli指令可以在任意目录下直接使用
1 | cp local bin/redis-server local |
9.设置redis密码
a.运行命令:
1 | redis-cli |
b.查看现有的redis密码命令(可选操作,可以没有)
1 | config get requirepass |
如果没有设置过密码的话运行结果会如下
1 | requirepass |
c.设置redis密码
运行命令:
1 | config set requirepass **** |
d.测试连接
1 | redis-cli -h 127.0.0.1 -p 6379 -a **** |
redis-清理数据:
1)首先通过密码登陆redis
1
2
3 redis-cli
auth 密码
2)执行清理前查看(若不需要清理全部则清理指定key即可)
1
2 >keys * //查看所有key值
>
3)清理redis
1
2
3
4 >del key //①删除指定key
>Flushdb //②删除当前数据库中的所有Key
>flushall //③删除所有数据库中的key
>
10.让外网能够访问redis
a.配置防火墙:
1 | firewall-cmd --zone=public --add-port=6379/tcp --permanent(开放6379端口) |
查看系统所有开放的端口:
1 | firewall-cmd --zone=public --list-ports |
b.此时 虽然防火墙开放了6379端口,但是外网还是无法访问的,因为redis监听的是127.0.0.1:6379,并不监听外网的请求。
(一)把文件夹目录里的redis.conf配置文件里的bind 127.0.0.1前面加#注释掉
(二)命令:redis-cli连接到redis后,输入命令 config get daemonize和config get protected-mode 是不是都为no,如果不是,就用config set 配置名 属性 改为no。
常用命令
1 | redis-server //启动redis local etc/redis.conf |
卸载redis:
1 | rm -rf /usr/local/redis //删除安装目录 |
启动redis:
1 | redis-server |
检测后台进程是否存在
1 | ps -ef |grep redis |
检测6379端口是否在监听
1 | netstat -lntp | grep 6379 |
有时候会报异常
原因: Redis已经启动
解决: 关掉Redis,重启即可
1 | redis-cli shutdown |
然后你就能看到Redis愉快的运行了.
使用redis-cli客户端检测连接是否正常
1 | redis-cli |
停止redis:
使用客户端
1 | redis-cli shutdown |
因为Redis可以妥善处理SIGTERM信号,所以直接kill -9也是可以的
1 | kill -9 PID |