在 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 的影响。

最新文章

  1. zepto弹出层组件
  2. BZOJ1036[ZJOI2008]树的统计Count 题解
  3. POJ2375 Cow Ski Area (强连通)(缩点)
  4. js selector libray
  5. JSON解析总结2
  6. 【Android - 框架】之Fresco的使用
  7. shell脚本中常见的一些特殊符号和作用详解
  8. appium使用真机做安卓移动端自动化测试
  9. bzoj4403(模板题)
  10. Effective Java 之-----谨慎的覆盖clone方法
  11. php 连接mssql
  12. 非阻塞I/O事件驱动
  13. 2.python知识点总结
  14. 经典论文翻译导读之《Google File System》(转)
  15. Matlab中使用LaTeX
  16. Java设计模式—代理模式
  17. Python用@property使类方法像属性一样访问
  18. ibatis打印sql
  19. jenkins+maven+svn实现简单的一键发布
  20. 20145209刘一阳 《网络对抗》逆向及BOF基础实践

热门文章

  1. MAC上python+Eclipse+pydev环境搭建
  2. 官网服务质量检测脚本(源码来自《Python自动化运维实战》第二版刘天斯)
  3. 初识Winform , 还好没喜欢上控制台
  4. python集成开发工具
  5. Unity3D特效-场景淡入淡出
  6. Android学习三:线程操作
  7. JS解析XML文件和XML字符串
  8. 动态加载、移除、替换JS和CSS
  9. Openstack Neutron DVR workflow
  10. 一个很奇怪的重复链接lib的问题