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

redis 安装使用的更多相关文章

  1. Redis安装测试(待完善)

    1 Redis安装 在网址http://redis.io/下载redis-3.2.3.tar.gz,解压. 进入解压目录 编译和安装,具体配置项可参考自带的README.md文件 make test ...

  2. Redis安装及实现session共享

    一.Redis介绍 1.redis是key-value的存储系统,属于非关系型数据库 2.特点:支持数据持久化,可以让数据在内存中保存到磁盘里(memcached:数据存在内存里,如果服务重启,数据会 ...

  3. windows 环境下的redis安装

    Redis安装 1.由于是练习,所以就在windows下安装的环境,并没有在LINUX服务器上装,但是知识点是一样的 安装流程: a.下载地址:https://github.com/MSOpenTec ...

  4. CentOS7— Redis安装(转和延续)

    Part I. Redis安装(转载部分) 一.安装 wget http://download.redis.io/redis-stable.tar.gz tar xvzf redis-stable.t ...

  5. php redis 安装篇(windows 7)

    人人都说redis比memcached好,但是没有实际体验过,概念还是比较模糊,今天就先把redis安装好,后面的体验再分享,由于php已经有了很好的扩展库支持,所以redis安装非常方便,下面是wi ...

  6. linux下的redis安装以及php添加redis扩展

    一.redis的安装 win版本详见: 下面是linux版本的安装步骤: step1.下载 http://redis.io/download下载完后直接make然后make install,注意sud ...

  7. CentOS 6.6下Redis安装配置记录

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/120.html?1455855209 在先前的文章中介绍过redis,以下 ...

  8. Redis安装配置与Jedis访问数据库

    一.NOSQL概要 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库.NoSQL数据库的四大分类 键值(Key-Value)存储数据库 这一类数据 ...

  9. Redis总结(一)Redis安装

    最近项目中需要使用Redis,刚好这两天有时间,便总结记录一下Redis的安装,以及如何在.NET中使用Redis. Redis是一个用的比较广泛的Key/Value的内存数据库.目前新浪微博.Git ...

  10. Redis-cluster集群【第一篇】:redis安装及redis数据类型

    Redis介绍: 一.介绍 redis 是一个开源的.使用C语言编写的.支持网络交互的.可以基于内存也可以持久化的Key-Value数据库. redis的源码非常简单,只要有时间看看谭浩强的C语言,在 ...

随机推荐

  1. 关于relative和absolute的总结

    对于定位这个性质我原理上来说自己是明白的,但是在实践的过程中,总会出现各种稀奇古怪的情况,加relative或是absolute就可以解决,但是遇到这些情况总是不明白为什么!!!难道是脑容量太小的原因 ...

  2. Windows 下字节转换

    Windows 下字节转换 #include <string> #include <windows.h> class CharsConversion { public: sta ...

  3. PHP curl传 json字符串

    $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_seto ...

  4. Python 学习之 NumPy

    NumPy(Numerical Python的简称) 是高性能科学计算和数据分析的基础包,提供了矩阵运算的功能,其一般与Scipy.matplotlib一起使用.其实,list已经提供了类似于矩阵的表 ...

  5. 修改pc机的mac地址 以及 mac地址的组成

    在"开始"菜单的"运行"中输入regedit,打开注册表编辑器,展开注册表到:HKEY_LOCAL_ MACHINE/System/CurrentControl ...

  6. Nginx 下配置SSL证书的方法

    1.Nginx 配置 ssl 模块 默认 Nginx 是没有 ssl 模块的,而我的 VPS 默认装的是 Nginx 0.7.63 ,顺带把 Nginx 升级到 0.7.64 并且 配置 ssl 模块 ...

  7. Mysql通信协议

    Mysql四种通信协议(linux下本地连接的都是socket 其他都是tcp) 当连接mysql时,使用-h127.0.0.1时,linux与unix下的连接协议为socket协议,windows下 ...

  8. Appium for win7 环境搭建

    一.安装node.js 1.到官网下载node.js:https://nodejs.org/download/ 2.获取到安装文件后,直接双击安装文件,根据程序的提示,完成nodejs的安装. 3.安 ...

  9. 从jsTree演示代码中提取的在线文件查看

    从jsTree演示代码中提取的在线文件查看 jsTree 请参考:https://www.jstree.com/ 效果如下: 代码下载:http://files.cnblogs.com/files/z ...

  10. activiti自定义流程之整合(五):启动流程时获取自定义表单

    流程定义部署之后,自然就是流程定义列表了,但和前一节一样的是,这里也是和之前单独的activiti没什么区别,因此也不多说.我们先看看列表页面以及对应的代码,然后在一步步说明点击启动按钮时如何调用自定 ...