介绍:
redis是一个c语言编写的key-value的非关系型数据库,有以下特点:
可放在内存里,也可以持久化,将内存中的数据保存到硬盘中。文件格式有全量数据(rdb)和增量请求(aof)。
value支持更多的类型,string,hash(哈希),list(列表),set(集合),sorted set(有序集合)。
安装:
官网网址:
https://redis.io/
当前下载版本5.0.5:
http://download.redis.io/releases/redis-5.0.5.tar.gz
解压后,进入解压目录,直接make&&make install即可。
redis不用指定安装路径,它默认安装在/usr/local/bin/目录下:
which redis-cli
/usr/local/bin/redis-cli
然后拷贝配置文件:
cp redis.conf /etc/redis.conf
写入内核参数,不做也不会有太大影响,日志会有警告提示:
vim /etc/rc.local
vm.overcommit_memory = 1
net.core.somaxconn = 2048
执行:
sysctl -p #生效
有关于几个文件的说明:
redis-server:redis服务端程序
redis-cli:客户端程序
redis-benchmark:redis性能测试工具
这些文件可以用命令查看位置:
which redis-server
启动服务:
redis-server /etc/redis.conf
关于配置文件中相关重要参数的说明:
-
daemonize yes #yes 开启后放到后台运行 pidfile
-
/var/run/redis.pid #pid进程文件目录 port 6379 #redis监听端口
-
bind 127.0.0.1 #绑定的主机地址,127.0.0.1代表redis在本机上。
-
loglevel verbose #日志级别,分别是debud,
-
verbose,notice,warning。在这行配置文件的上面有说明。
-
timeout 300 #超时时间,客户端闲置超过300秒就会关闭连接。
-
logfile stdout #注意如果开启了daemonize yes,就要修改logfile文件路径,比如说修改成 logfile “/var/log/redis.log”
-
databases 16 #设置数据库的数量,默认为0。
-
save <seconds> <changes> #指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合。
-
Redis默认配置文件中提供了三个条件:
save 900 1
save 300 10
save 60 10000
分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。 -
rdbcompression yes #存储到本地的时候是否压缩数据,默认yes。
-
dbfilename dump.rdb #指定本地文件库名,默认dump.rdb
-
dir ./ 指定本地数据库存放目录,可以自己指定。不如说改成 dir /data/redis
-
slaveof <masterip> <masterport> # 设置当本机为slav服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步
-
masterauth #当master服务设置了密码保护时,slav服务连接master的密码。
-
requirepass foobared #设置redis连接密码,默认关闭,所以我们连接的时候没有密码也能登入。
-
maxclients 128 #客户端最大连接数
-
appendonly on #aof日志是否开启,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。
-
maxmemory <bytes> #
指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis新的vm机制,会把Key存放内存,Value会存放在swap区 -
appendfilename appendonly.aof #指定更新日志文件名,默认为appendonly.aof
-
activerehashing yes #是否激活重置哈希,默认为开启
-
include /path/to/local.conf
#可以在同一主机上多个Redis实例之间使用同一份配置文件,而同时各个实例又拥有自己的特定配置文件