zoukankan      html  css  js  c++  java
  • redis 安装使用

    在 centos 7.2 系统上,安装使用redis。了解学习redis功能及特性。

    版本: 3.2.4

    1.安装:

      # yum install redis

    2.配置:

    /etc/logrotate.d/redis
    /etc/redis-sentinel.conf
    /etc/redis.conf
    /etc/systemd/system/redis-sentinel.service.d
    /etc/systemd/system/redis-sentinel.service.d/limit.conf
    /etc/systemd/system/redis.service.d
    /etc/systemd/system/redis.service.d/limit.conf

    3.服务:

    /usr/lib/systemd/system/redis-sentinel.service

    /usr/lib/systemd/system/redis.service

    启动服务:

        使用现有rpm,会构建一个systemctl控制的服务单元,通过 #service 或 #systemctl 命令控制服务的启动和关闭

                 #service redis start/stop/status   或

                 #systemctl status/stop/status redis.service

         或使用 redis-sever启动,systemctl的redis服务单元使用的也是 redis-server命令。

                 #redis-server  config                详见 redis-server 命令介绍

                 #redis-server /etc/redis.conf --daemonize yes

    关闭服务:

                #service redis stop

            或

           #redis-cli shutdown

    4.日志:

    /var/log/redis/redis.log

    5.dump数据

    根据配置文件中的设置,redis定期保存内存数据到磁盘。

    缺省文件名:dump.rdb

    缺省路径:    /var/log/redis

    5.命令:

    /usr/bin/redis-benchmark    性能测试工具
    /usr/bin/redis-check-aof      aof文件检测和修复工具  Redis AOF file checker and repairer
    /usr/bin/redis-check-rdb     rdb文件检测器
    /usr/bin/redis-cli        客户端操作
    /usr/bin/redis-sentinel        Redis实例的监控管理、通知和实例失效备援服务,是Redis集群的管理工具。是redis-server的一个链接,带有--sentionel 选项。 symbolic link to `redis-server'  
    /usr/bin/redis-server       启动redis服务

    redis-cli

      在 ~/.rediscli_history   命令操作历史记录

             ~/.redisclirc            设置一些选项

    6.使用:

    持久化

    主备

    支持的数据容量

    7.参考:

     http://skly-java.iteye.com/blog/2167400

    http://lib.csdn.net/base/redis

    8.相关知识:

      Transparent Huge Pages (THP)  ,linux内核支持。如果使用,或导致redis的延时和内存使用。 通过echo never > /sys/kernel/mm/transparent_hugepage/enabled 命令,关闭 THP。 在 /etc/rc.local 文件中加入关闭命令,以免系统重启,THP功能被打开。

          vm.overcommit_memory = 1    在 /etc/sysctl.conf文件中增加后重启或 命令 sysctl vm.overcommit_memory=1, 解决在低内存情况下,失败的情况。

        overcommit_memory参数说明

        设置内存分配策略(可选,根据服务器的实际情况进行设置)
        /proc/sys/vm/overcommit_memory
        可选值:0、1、2。
        0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
        1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
        2, 表示内核允许分配超过所有物理内存和交换空间总和的内存

        注意:redis在dump数据的时候,会fork出一个子进程,理论上child进程所占用的内存和parent是一样的,比如parent占用 的内存为8G,这个时候也要同样分配8G的内存给child,如果内存无法负担,往往会造成redis服务器的down机或者IO负载过高,效率下降。所 以这里比较优化的内存分配策略应该设置为 1(表示内核允许分配所有的物理内存,而不管当前的内存状态如何)。

      /proc/sys/net/core/somaxconn   在centos 7.2上,缺省为128。 redis的配置文件/etc/redis.conf中tcp-backlog缺省为511,导致redis监听端口队列无法达到511. 还受 tcp_max_syn_backlog 的影响。

  • 相关阅读:
    Python_Crawler_Foundation1-2_MYSQL_Regular Expression
    Linux_Best Practice_01_Ubuntu_set prox_set Repositories
    python_Note_Preview_01
    Python_Note_Day 10_Coroutine
    Python_Note_Day 9_threading.Thread_multiprocessing.Process_Queue
    Linux_学习_Day4_user/group/permission
    Linux_学习_Day3_bash
    Linux_学习_Day2~3
    Python_Note_Day 8_socket
    Python_Note_Day 7_Advanced Class
  • 原文地址:https://www.cnblogs.com/doscho/p/6119244.html
Copyright © 2011-2022 走看看