zoukankan      html  css  js  c++  java
  • 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"
  • 相关阅读:
    高级映射之事务
    配置tomcat-users.xml文件
    动态SQL之标签
    性能测试
    Service
    添加 aar 或 jar 包依赖 的方式
    安卓设备 以太网代理 问题排查
    剑指offer:面试题15、链表中倒数第 K 个结点
    剑指offer:面试题14、调整数组顺序使奇数位于偶数前面
    剑指offer:面试题13、在O(1)时间删除链表结点
  • 原文地址:https://www.cnblogs.com/lina-2159/p/13553695.html
Copyright © 2011-2022 走看看