Redis是什么
Redis(Remote Dictionary Server)是一个开源的内存数据库,遵守 BSD 协议,它提供了一个高性能的键值(key-value)存储系统,常用于缓存、消息队列、会话存储等应用场景。
它的优点很多,Redis 与其他 key-value 存储系统的主要区别在于其提供了丰富的数据类型、高性能的读写能力、原子性操作、持久化机制、以及丰富的特性集。
Redis的yum安装与配置
在尝试使用yum安装redis时,发现在yum仓库没有redis。原来他不在标准软件仓库里,而是在epel仓库里。
EPEL(Extra Packages for Enterprise Linux)是一个由Fedora Special Interest Group维护的项目,旨在为基于Red Hat的操作系统,如RHEL、CentOS和Scientific Linux提供额外的软件包。这些软件包并不包含在官方的Red Hat或CentOS软件仓库中,但经常被企业级用户所需。EPEL提供的软件包质量高,且与Red Hat系的系统兼容性好。
epel源的安装和配置
1.查看可用的epel源
[root@localhost ~]# yum list | grep epel-release2.安装 epel
[root@localhost ~]# yum install -y epel-release3.配置阿里镜像提供的epel源
[root@localhost ~]# wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo4.清除缓存
[root@localhost ~]# yum clean all # 清除系统所有的yum缓存
[root@localhost ~]# yum makecache # 生成yum缓存
yum安装Redis和相关设置
安装
1.安装yum
[root@localhost ~]# yum install redis -y2.查看redis运行状态
[root@localhost ~]# systemctl status redis ## 如果服务正在运行,应该显示“Active(running)”的状态3.启动redis
[root@localhost ~]# systemctl start redis4.设置开机启动
[root@localhost ~]# systemctl enable redis5.查看进程
[root@localhost ~]# ps -ef |grep redis6.防火墙开放6379端口
怎么进入redis服务呢?
1.进入本机的redis客户端
[root@localhost ~]# redis-cli2.列出所有key
[root@localhost ~]# redis-cli
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379>
配置
1.打开配置文件
$ vi /etc/redis.conf2.修改默认端口
在打开的配置文件中找到port 6379,将其修改为你需要的端口号即可3.修改默认密码
找到requirepass foobared,将foobared替换为你想设置的密码4.使用配置文件启动redis,其中 /path/to/redis.conf 是你所修改的配置文件的路径。
$ redis-server /path/to/redis.conf5.如果你希望修改 Redis 的默认配置,而不是通过指定配置文件的方式启动,你可以在 Redis 安装目录下创建一个名为 redis.conf 的文件,并在其中进行修改。会直接使用 redis.conf 的文件配置启动。
$ redis-server6.如果一切顺利,redis 服务器将在后台启动。你可以使用以下命令检查 Redis 是否正在运行,如果服务器正常运行,你将看到 “PONG” 的响应。
$ redis-cli ping
我们为什么会使用到配置文件启动呢?
因为在很多企业实际项目中,不会只有单个的redis实例,而每个redis的config配置可能都不一样,这时就需要对每个redis单独配置参数。
由于redis的配置都依赖于redis目录下的redis.conf文件,我们可以将redis.conf文件复制一份,并修改其名称如redis-6379.conf,修改里面的相关参数配置。
# 绑定在哪个ip地址上启动,127.0.0.1等于本机地址(localhost)
bind 127.0.0.1
# 指定以哪个端口号启动
port 6379
# daemonize选项用于指定redis是否以守护进程的方式启动,守护进程是一种在后台运行的的进程,不会占用终端,通常用于服务器应用。日志将会保存在文件中。
daemonize yes
# 指定日志、持久化等文件存放所在的目录(你得确保确实有这个目录)
dir ./data/
# 指定logfile文件位置、名称。logfile默认为空字符串,如果为空,则使用标准输出,如果为空且在后台运行,日志会被发送到/dev/null
logfile "redis-6379.log"