zoukankan      html  css  js  c++  java
  • redis

    redis

      源码安装redis

        *下载官网:http://download.redis.io/releases/[版本自取,演示为4.0.14] 

        *进入安装目录:cd /usr/local/src

        *下载源码:wget http://download.redis.io/releases/redis-4.0.14.tar.gz

        *解压源码包:tar xf redis-4.0.14.tar.gz

        *进入目录:cd redis-4.0.14/

        *安装redis,并指定安装目录:make PREFIX=/apps/redis  install

        *查看安装:ll /apps/redis/bin[redis-benchmark压缩工具,检测redis性能][redis-sentinel:哨兵,软连接到服务端]

          [redis-server:启动redis服务端][redis-cli:启动客户端][redis-check-aof/rdb:检查快照和aof日志文件,检查以及修复]

            

        *创建配置文件,日志以及数据等目录:mkdir /apps/redis/{etc,logs,data,run}    

        *查看redis目录:ll [redis.conf:redis的主配置文件]

        

        *拷贝配置文件至/apps/redis/etc:cp redis.conf  /apps/redis/etc/

        *修改监听端口:vim /apps/redis/etc/redis.conf[原端口127.0.0.1只允许本机]

        

        *查看如何启动redis服务:/apps/redis/bin/redis-server[redis-server 后面添加启动文件,以及可选项]

        

        *启动redis服务:/apps/redis/bin/redis-server  /apps/redis/etc/redis.conf[但这样会占用一个端口,在前台运行]

        

        *启动时会有几个警告

        

        *经过tcp队列值不符合,系统默认值128,要大于511才符合[backlog 参数控制的是三次握手的时候 server 端收到 client ack 确认号之后的队列值]

        

        *打开新终端查看队列值:cat /proc/sys/net/core/somaxconn

        

        *解决tcp警告,vim /etc/sysctl.conf[添加:net.core.somaxconn = 512]

        *使其生效:sysctl -p

        *关闭redis服务,在次启动[发现改警告已消失]

         

         *vm.overcommit_memory:0表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允 许;否则,内存申请失败,并把错误返回给应用进程。

          1:表示内核允许分配所有的物理内存,而不管当前的内存状态如何。 

          2:表示内核允许分配超过所有物理内存和交换空间总和的内存

        

        *解决内核警告,vim /etc/sysctl.conf[添加:vm.overcommit_memory = 1]     

        *使其生效:sysctl -p

        *关闭redis服务,在次启动[发现改警告已消失]

        

        *transparent hugepage:开启大页内存动态分配,需要关闭让 redis 负责内存管理。

        

        *在终端:echo never > /sys/kernel/mm/transparent_hugepage/enabled

        *开机启动:vim /etc/rc.d/rc.local[添加:echo never > /sys/kernel/mm/transparent_hugepage/enabled]

        *赋予执行权限:chmod a+x /etc/rc.d/rc.local

        *关闭redis服务,在次启动[发现改警告已消失]

        

        *创建redis组和用户:groupadd  -g 2019 redis && useradd   -u 2019 -g 2019 redis -s /sbin/nologin

        *编写启动脚本,vim /usr/lib/systemd/system/redis.service 

    [Unit] 
    Description=Redis persistent key-value database
    After=network.target
    After=network-online.target
    Wants=network-online.target
     
    [Service]
    ExecStart=/apps/redis/bin/redis-server /apps/redis/etc/redis.conf  --supervised systemd
    ExecReload=/bin/kill -s HUP $MAINPID 
    ExecStop=/bin/kill -s QUIT $MAINPID
    Type=notify
    User=redis
    Group=redis
    RuntimeDirectory=redis
    RuntimeDirectoryMode=0755
     
    [Install]
    WantedBy=multi-user.target

        *测试启动:systemctl start redis

        

        *设置开机启动:systemctl enable redis

        *创建命令软连接:ln -s /apps/redis/bin/redis-*  /usr/bin/[就可以执行redis所有命令]

        *修改管理:chown redis.redis /apps/redis/ -R  

        *修改配置文件参数,vim /apps/redis/etc/redis.conf

    tcp-keepalive 600
    daemonize yes
    注释supervised no
    logfile "/apps/redis/logs/redis_6379.log"
    alway-show-logo no
    dir /apps/redi/data/
    pidfile /apps/redis/run/redis_6379.pid
    repl-diskless-sync-delay 30
    requirepass  123456
    maxmemory 8G
    appendonly yes

      yum安装redis

        *安装epel源:yum install eple-release -y

        *安装redis:yum install redis -y

        

        

        

     

      

  • 相关阅读:
    Linux C Socket编程原理及简单实例
    clock_gettime 用法
    Linux未来监控tracing框架——eBPF
    eBPF监控工具bcc系列五工具funccount
    【转】如何测量电源纹波?
    【转】在网页中运行VB6程序
    如何为互阻抗放大器电路选择具有足够带宽的运算放大器
    互阻放大器的稳定工作及其评估
    【原创】OPA857 TEST模式使用
    [转]What you need to know about transimpedance amplifiers – part 1
  • 原文地址:https://www.cnblogs.com/dengkui/p/11496506.html
Copyright © 2011-2022 走看看