redis是一种非关系型数据库,以键值对方式存放数据,经常用于做缓存。它的安装过程比较简单,在其官网(https://redis.io/)中有linux下的安装代码。
进入官网就会看见最新的redis版本,目前最新为4.0.2(版本号为奇数为不稳定版本)。在linux上使用wget下载tar(wget http://download.redis.io/releases/redis-4.0.2.tar.gz):
解压tar包:tar -zxvf redis-4.0.2.tar.gz
使用 cd redis-4.0.2 切换到解压的文件夹下:
安装:make;输入make后会自动安装。
进入src 下执行 make install
结束后进入src下:cd src
新建文件夹mkdir -p /usr/local/redis/bin (用于放redis命令文件)
mkdir -p /usr/local/redis/etc (用于放redis配置文件)
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server /usr/local/redis/bin
切换目录到redis-4.0.2下(默认wget下载文件在root下)
mv redis.conf /usr/local/redis/etc
这样就吧配置文件放入/usr/local/redis/etc下。常用命令放在/usr/local/redis/bin下。
进入/usr/local/redis/bin 执行 redis-server就可以运行redis服务端
redis在安装好之后,
需要修改redis.conf中有些配置:
#requirepass foobared //将#删除并将foobared改成自己密码
bind 127.0.0.1(bind localhost) //将其注释掉,否则只能允许本机访问
daemonize yes //将其改为yes 这样当启动redis服务后,不会出现redis的logo,不用新开窗口
protected-mode yes //将其改为no,让其不以保护模式运行
appendonly yes //每当 Redis 执行一个改变数据集的命令时(比如 SET), 这个命令就会被追加到 AOF 文件的末尾
maxmemory *MB //设置内存大小
maxmemory-policy allkeys-lru //设置lru策略(这两个根据业务需求设定)
redis默认会将RDB(快照)保存打开,这个条件是900秒内有1个键被保存就将数据保存(并不能保证每次数据都有能保存)
reedis.conf配置项
daemonize 如果需要将Redis服务以守护进程在后台运行,则把该项的值改为yes
pidfile 配置多个pid的地址,默认在/var/run/redis/pid
bind 绑定ip,设置后只接受来自该ip的请求 (建议生产环境开启)
port 监听端口,默认是6379
timeout 客户端连接超时的设定,单位是秒
loglevel 分为4级,debug、verbose、notice、warning(生产环境为notice)
logfile 配置log文件地址
databases 设置数据库的个数,默认使用的数据库为0
save 设置redis进行数据库镜像的频率
rdbcompression 在进行镜像备份时,是否进行压缩
Dbfilename 镜像备份文件的文件名
Dir 数据库镜像备份文件的存放路径
Slaveof 设置数据库为其他数据库的从数据库
Masterauth 主数据库连接需要的密码验证
Requirepass 设置登录时,需要使用的密码
Maxclients 设置同时连接的最大客户端数量
Maxmemory 设置redis能使用的最大内存当超出时会先删除设置expire的key不管是否过期
32位系统最多为3g 0表示不限制内存
Appendonly 开启append only模式 将每一次写操作写到appendonly.aof文件中
Appendfsync 设置对appendonly.aof文件同步的频率 (4.0中默认为appendfsync everysec
#每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,是受推荐的方式)
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
no-appendfsync-on-rewrite yes #在日志重写时,不进行命令追加操作,而只是将其放在缓冲区里,
避免与命令的追加造成DISK IO上的冲突。
auto-aof-rewrite-percentage 100 #当前AOF文件大小是上次日志重写得到AOF文件大小的二倍时,
自动启动新的日志重写过程。
auto-aof-rewrite-min-size 64mb #当前AOF文件启动新的日志重写过程的最小值,避免刚刚启动Reids
时由于文件尺寸较小导致频繁的重写。