Redis
Redis全称:Remote Dictionary Server(远程数据服务)。Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
单实例安装
只是学习使用使用yum 方式安装比较快。而且centos自带官方源。
yum安装
- yum install epel-release –下载fedora的epel仓库
- yum install redis – 安装redis数据库
Redis数据库配置
如果要想配置
Redis
数据库,主要的配置文件就是redis.conf,所有的配置项一定要在此处完成。Redis
作为一个具备有持久化功能的缓存数据库,所以其一定会有一个用于数据存储的目录,那么一般在Redis
处理的时候会有三类文件需要做保存:Redis
运行时的pid
、Redis
相关处理日志、Redis
的数据文件,所以建立一个目录用于存放这些数据:在一个目录同时创建多个文件夹
1 | [root@localhost bin]# mkdir -p /opt/redis/{run,logs,dbcache} |
- 检查redis安装位置;使用whereis命令只能用于程序名的搜索。
1 | [root@localhost bin]# whereis redis |
- 修改redis.conf的配置文件:
vim /etc/redis.conf
- 配置
Redis
运行端口:port 6379
- 配置
Redis
是否为后台运行:daemonize yes
- 设置进程保存路径:
pidfile "/opt/redis/run/redis_6379.pid"
- 设置日志保存目录:
logfile "/opt/redis/logs/redis.log"
- 该
Redis
支持的数据库个数:databases 16
- 保存数据文件目录:
dir /opt/redis/dbcache
- 配置
3.启动Redis服务:/usr/bin/redis-server /etc/redis.conf
- 如果要启动
Redis-Server
就必须明确的指明要使用的redis.conf
配置文件;
4.Redis
启动会占用6379
的端口,所以查看端口:netstat -nptl
;
- 此时发现Redis运行的时候是在6379本机下才可以执行,所以无法对外提供服务;
安全設置
Redis的配置文件默认在/etc/redis.conf
,找到如下行:
1 | #requirepass foobared |
去掉前面的注释,并修改为所需要的密码:
1 | requirepass myPassword (其中myPassword就是要设置的密码) |
WARNING
它是 内存分配策略;可选值:0、1、2。
0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存
解决方法:
很简单,按提示的操作(将vm.overcommit_memory 设为1 即可;有三种方式修改内核参数,但要有root权限:
- 编辑/etc/sysctl.conf ,改vm.overcommit_memory=1,然后sysctl -p 使配置文件生效
- sysctl vm.overcommit_memory=1
- echo 1 > /proc/sys/vm/overcommit_memory
第一种永久有效。
基本操作
- 开启方式
1 | [root@localhost bin]# redis-server /etc/redis.conf |
- 开启后台启动 # 在redis.conf 设置 daemonize yes
1 | daemonize on |
- 查看redis是否开启
1 | [root@localhost bin]# ps -ef | grep redis |
- 进入redis服务
1 | [root@localhost bin]# redis-cli |
- 关闭redis服务
1 | [root@localhost bin]# redis-cli shutdown |
在设置认证密码之后关闭需要先认证
- 若不认证会抛出Redis (error) NOAUTH Authentication required。
1 | [root@localhost bin]# redis-cli |
- 显示OK 表示认证成功。