redis是什么
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
下载
使用的是最新redis版本5.0.3
http://download.redis.io/releases/redis-5.0.3.tar.gz
安装
用SFTP/FTP工具将redis安装包拷贝在linux服务器中并解压(推荐一个工具MobaXterm,官网地址:https://mobaxterm.mobatek.net/)
tar zxvf redis-5.0.3.tar.gz
进入解压后的redis文件夹,编译并安装
cd redis-5.0.3/
make
cd src
make install
正常情况下,安装成功后会显示下图:
编译/安装失败的解决办法
make
后如果出现上图报错,说明linux服务器中缺少gcc
,需要通过yum install gcc
进行安装,安装成功后如下图:
重新通过make
编译,结果又出现下图报错:
这是因为默认的编译库有问题,我们手动指定make MALLOC=libc
后编译成功,之后再进入src
文件夹并make install
创建redis文件夹
创建redis文件夹,将配置文件和常用命令迁移进去方便统一管理
mkdir -p /usr/local/redis/etc
mkdir -p /usr/local/redis/bin
mv /usr/local/devpackages/redis-5.0.3/redis.conf /usr/local/redis/etc
cd /usr/local/devpackages/redis-5.0.3/src
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin
前端启动redis
前端模式启动完成后,不能再进行其他操作,不建议
后端启动redis
修改redis.conf
配置文件,将daemonize
的值修改为yes
。保存后重新启动redis,并且指定使用的配置文件
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
关闭redis
/usr/local/redis/bin/redis-cli shutdown
注意:如果设置了密码后关闭会提示(error) NOAUTH Authentication required.
这时需要加上密码才能关闭redis服务
/usr/local/redis/bin/redis-cli -a yourpassword shutdown
设置密码、对外网开放
redis如果设置对外网开放一定要设置密码,否则会被轻易破解用于挖矿
将#requirepass foobared
注释去掉,并将foobared改为自己设定的密码
requirepass yourpassword
注释掉bind,并禁用保护模式
#bind 127.0.0.1
protected-mode no
redis其他的一些配置
daemonize
如果需要在后台运行,把该项改为yes
pidfile
配置多个pid的地质,默认在/var/ren/redis.pid
bind
绑定ip,设置后只接受来自该ip的请求
port
监听端口,默认为6379
timeout
设置客户端连接时的超时时间,单位为秒
loglevel
分为4级,debug、verbose、notice、warning
logfile
配置log文件地址 databases 设置数据库的个数,默认使用的数据库为0
save
设置redis进行数据库镜像的频率
rdbcompression
在进行镜像备份时,是否进行压缩
Dbfilename
镜像备份文件的文件名
Dir
数据库镜像备份的文件放置路径
Slaveof
设置数据库为其他数据库的从数据库
Masteauth
主数据库连接需要的密码验证
Requirepass
设置登陆时需要的使用的密码
Maxclients
限制同时连接的客户数量
Maxmemory
设置redis能够使用的最大内存
Appendonly
开启append only模式
Appendfsync
设置对appendonly.aof文件同步的频率
vm-enabled
是否开启虚拟内存支持
vm-swap-file
设置虚拟内存的交换文件路径
vm-max-memory
设置redis使用的最大物理内存大小
vm-page-size
设置虚拟内存的页大小
vm-pages
设置交换文件的总的page数量
vm-max-threads
设置VMIO同时使用的线程数量
Glueoutputbuf
设置在向客户端应答时,是否把较小的包合并为一个包发送,默认为开启
hash-max-zipmap-entries
设置hash的临界值
Activerehashing
重置hash,默认为开启