Redis编译安装

参考:https://www.runoob.com/redis/redis-tutorial.html

一、Redis简介

REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。

Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

二、Redis安装

下载地址:http://redis.io/download,下载版本 redis-4.0.11.tar.gz

1、安装

[root@redis01 ~]# yum install -y gcc
[root@redis01 ~]# tar xf redis-4.0.11.tar.gz -C /usr/local
[root@redis01 ~]# cd /usr/local/redis-4.0.11/
[root@redis01 redis-4.0.11]# make MALLOC=libc
[root@redis01 redis-4.0.11]# make install PREFIX=/usr/local/redis-4.0.11

2、命令介绍

redis-server            启动redis服务
redis-cli               redis客户端工具 
redis-benchmark         redis性能测试
redis-check-rdb         检测rdb文件
redis-check-aof         检测aof日志文件

3、启动

[root@redis01 ~]# mkdir /usr/local/redis-4.0.11/conf
[root@redis01 ~]# cd /usr/local/redis-4.0.11/
[root@redis01 redis-3.2.9]# cp redis.conf ./conf/

[root@redis01 ~]# /usr/local/redis-4.0.11/src/redis-server /usr/local/redis-4.0.11/conf/redis.conf &
[root@redis01 ~]# ss -antp | grep :6379
LISTEN     0      128    127.0.0.1:6379                     *:*                   users:(("redis-server",pid=9612,fd=4))
启动服务时内核参数说明:

1、/proc/sys/net/core/somaxconn

    定义了系统中每一个端口最大的监听队列的长度,默认为128. 对于大多数需要处理高并发连接的应用来说,该值太小,建议修改为1024或者更大
    
2、overcommit_memory

    规定决定是否接受超大内存请求的条件。这个参数有三个可能的值:
        0 — 默认设置。内核执行启发式内存过量使用处理,方法是估算可用内存量,并拒绝明显无效的请求。遗憾的是因为内存是使用启发式而非准确算法计算进行部署,这个设置有时可能会造成系统中的可用内存超载。
        1 — 内核执行无内存过量使用处理。使用这个设置会增大内存超载的可能性,但也可以增强大量使用内存任务的性能。
        2 — 内存拒绝等于或者大于总可用 swap 大小以及 overcommit_ratio 指定的物理 RAM 比例的内存请求。如果您希望减小内存过度使用的风险,这个设置就是最好的。

3、/sys/kernel/mm/transparent_hugepage/enabled

    禁止使用huge page 

4、配置

配置文件:/usr/local/redis-4.0.11/conf/redis.conf 

1、指定额外的配置文件 

# include /path/to/local.conf
# include /path/to/other.conf


2、设置redis监听的IP地址

bind 192.168.122.101


3、设置redis进程接收的TCP队列长度

tcp-backlog 511

同时修改内核参数/proc/sys/net/core/somaxconn 


4、设置客户端空闲连接超时时间, 0表示不设置

timeout 0


5、设置redis启动时作为后台服务运行

daemonize yes


6、指定pid文件 

pidfile /var/run/redis_6379.pid


7、设置日志级别及日志文件 

loglevel notice
logfile ""


8、设置数据库的数量  0--15

databases 16


9、设置redis保存数据的频率

save 900 1
save 300 10
save 60 10000

    redis保存数据的方式:
        save, 会阻塞(block)客户端连接请求
        bgsave


10、当bgsave发生error时,停止写操作

stop-writes-on-bgsave-error yes


11、启用压缩

rdbcompression yes


12、设置rdb数据文件名称及存放目录

dbfilename dump.rdb
dir /usr/local/redis/data 



13、设置并发连接

maxclients 10000


14、设置redis最大使用的内存

# maxmemory <bytes>            //建议为物理内存的3/5


15、启用redis aof功能

appendonly yes
appendfilename "appendonly.aof"

 

posted @ 2020-08-24 14:29  灰蓝色的白云梦想  阅读(159)  评论(0编辑  收藏  举报