linux离线部署redis及redis.conf详解
一、离线部署redis
由于博主部署的虚拟机没有网络也没有gcc编译器,所以就寻找具备gcc编译器的编译环境把redis编译安装好,Copy Redis安装目录文件夹到目标虚拟机的目录下。copy时redis-sentinel文件要先复制到安装目录外的其他目录,才能复制到编译环境外部,直接从安装目录复制到编译环境外会失败。
1.1 环境
l Linux-EulerOS_CSP_19.1.0.B068
l Redis-3.0.7.tar.gz
l 虚拟机无网络连接
1.2 依赖
l 依赖gcc3.4.3编译Redis-3.0.7.tar.gz解压包。可用 gcc -v 命令检测安装环境是否安装了gcc。
1.3 工具
l WinSCP;主机window和虚拟机linux之间的文件传输
l Vim:编辑redis.conf
l Putty:远程登陆虚拟机
1.4 安装步骤(安装目录以个人目录为准)
l Copy Redis-3.0.7.tar.gz : 虚拟机无网络,主机下载Redis-3.0.7.tar.gz,使用WinSCP传输到编译环境的安装目录/opt/z00475942/
l 解压源码Redis-3.0.7.tar.gz
l 结果:生成并解压到./redis-3.0.7目录,这个目录是自动生成的。
l 进入解压目录进行编译(依赖gcc)
l 编译结果
l 安装到指定目录/opt/z00475942/redis,路径需为绝对路径
l 安装目录下的文件,redis-server是服务端,redis-cli是客户端
l Copy redis.conf 到安装目录, redis.conf在redis源码目录
l 使用vim打开redis.conf vim ./redis.conf 编辑cong文件, 设置daemonize 值为 yes 则redis可后台运行。
l 启动时可能遇到无权限的提示:需要设置启动文件至最高权限
l 启动Redis 1- ./redis-server(前端启动不读取配置文件,虚拟机关闭则关闭)
2- ./redis-server /usr/local/redis/bin/redis.conf(后端启动读取配置文件启动,虚拟机关闭仍后台运行,前提是已设置redis.conf 文件中 daemonize 值为 yes)
l 查看后台运行的redis
l 查看监听6379(默认端口)的程序
l 结束后台运行的redis,查看后台运行的redis为空。
1.6 Redis.conf 详解
l
Include:引入其它配置文件。比如说当你有多个server,而有一些配置项是它们公用的,那么你可以将这些公用的配置项写进一个配置文件common.conf里,然后这些server再include这个配置文件,这些server自己的配置项则分别写在自己的配置文件里。
l
bind:默认情况下,redis
在 server 上所有有效的网络接口上监听客户端连接。如果只想让它在一个或多个网络接口上监听,那你就绑定一个IP或者多个IP。多个ip空格分隔即可。
l
protected-mode:当开启后,禁止公网访问redis。它启用的条件有两个,第一是没有使用bind,第二是没有设置访问密码。
l
daemonize: [yes]redis以守护线程运行,这时redis instance会将进程号pid写入默认文件/var/run/redis.pid。;[no]前端模式启动,ssh启动的命令窗口关闭则redis-server程序结束。
l
pid:当redis以守护线程运行时,它会把 pid 默认写到/var/run/redis.pid 文件里面,但是你可以在这里自己制定它的文件位置。
l
port:监听端口号,默认为
6379,如果你设为 0 ,redis 将不在
socket 上监听任何客户端连接。
l
tcp-backlog: 此参数确定了TCP连接中已完成队列(完成三次握手之后)的长度,当然此值必须不大于Linux系统定义的/proc/sys/net/core/somaxconn值,默认是511,而Linux的默认参数值是128。当系统并发量大并且客户端速度缓慢的时候,可以将这二个参数一起参考设定。
l
loglevel:日志级别。可选项有:debug(记录大量日志信息,适用于开发、测试阶段); verbose(较多日志信息); notice(适量日志信息,使用于生产环境);warning(仅有部分重要、关键信息才会被记录)。
l
logfile:日志文件的位置,当指定为空字符串时,为标准输出,如果redis已守护进程模式运行,那么日志将会输出到 /dev/null 。
l
save:保存数据到磁盘。格式是:save
<seconds> <changes> ,含义是在
seconds 秒之后至少有 changes个keys 发生改变则保存一次。
l
databases:设置数据库的数目。默认的数据库是DB
0 ,可以在每个连接上使用select <dbid> 命令选择一个不同的数据库,dbid是一个介于0到databases - 1 之间的数值。
l
dir:数据库存放目录。必须是一个目录,aof文件也会保存到该目录下。
l
maxclients:设置客户端最大并发连接数,默认无限制,Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数-32(redis server自身会使用一些),如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis会关闭新的连接并向客户端返回max number of clients reached错误信息。
l
maxmemory:指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis新的vm机制,会把Key存放内存,Value会存放在swap区,格式:maxmemory <bytes> 。
l
maxmemory-policy:当内存使用达到最大值时,redis使用的清楚策略。有以下几种可以选择
1)volatile-lru 利用LRU算法移除设置过过期时间的key
(LRU:最近使用 Least Recently Used )
2)allkeys-lru 利用LRU算法移除任何key
3)volatile-random 移除设置过过期时间的随机key
4)allkeys-random 移除随机key
5)volatile-ttl 移除即将过期的key(minor
TTL)
6)noeviction noeviction
不移除任何key,只是返回一个写错误。默认选项
l
timeout:当客户端闲置多少秒后关闭连接,如果设置为0表示关闭该功能。
l
tcp-keepalive:单位是秒,表示将周期性的使用SO_KEEPALIVE检测客户端是否还处于健康状态,避免服务器一直阻塞,官方给出的建议值是300S
linux离线部署redis及redis.conf详解的更多相关文章
- Redis:默认配置文件redis.conf详解
转: Redis:默认配置文件redis.conf详解 # Redis配置文件样例 # Note on units: when memory size is needed, it is possibl ...
- Redis配置文件redis.conf详解
一.Redis配置文件redis.conf详解 # Note on units: when memory size is needed, it is possible to specifiy # it ...
- NoSQL之Redis高级实用命令详解--安全和主从复制
Android IOS JavaScript HTML5 CSS jQuery Python PHP NodeJS Java Spring MySQL MongoDB Redis NOSQL Vim ...
- 反射实现Model修改前后的内容对比 【API调用】腾讯云短信 Windows操作系统下Redis服务安装图文详解 Redis入门学习
反射实现Model修改前后的内容对比 在开发过程中,我们会遇到这样一个问题,编辑了一个对象之后,我们想要把这个对象修改了哪些内容保存下来,以便将来查看和追责. 首先我们要创建一个User类 1 p ...
- redis 五种数据结构详解(string,list,set,zset,hash)
redis 五种数据结构详解(string,list,set,zset,hash) Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存 ...
- Redis的事务功能详解
Redis的事务功能详解 MULTI.EXEC.DISCARD和WATCH命令是Redis事务功能的基础.Redis事务允许在一次单独的步骤中执行一组命令,并且可以保证如下两个重要事项: >Re ...
- redis 五种数据结构详解(string,list,set,zset,hash),各种问题综合
redis 五种数据结构详解(string,list,set,zset,hash) https://www.cnblogs.com/sdgf/p/6244937.html redis 与 spring ...
- 【Redis】redis 五种数据结构详解(string,list,set,zset,hash)
redis 五种数据结构详解(string,list,set,zset,hash) Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存 ...
- Linux 网络流量实时监控工具之ntopng详解
大纲一.前言二.ntopng 简介三.ntopng 功能说明 四.ntopng 安装详解五.ntopng 配置详解 六.ntopng 使用详解注,操作系统 CentOS 5.5 X86_64,软件版本 ...
随机推荐
- Catlike学习笔记(1.1)-使用Unity实现一个钟表
最近发现『Catlike系列教程』觉得内容真的很赞,感觉有很多地方涉及到了我的知识盲点,如果真的可以照着做下来一遍的话应该收获颇丰.因为教程很长所以逐字翻译不太可能了(主要是翻译的太差).基本上就是把 ...
- 通过拓展Function.prototype实现一个AOP
AOP(面向切面的编程)主要是将一些与核心业务逻辑模块无关的功能抽离出来,这些功能通常包括日志统计,安全控制,或者是异常处理等等. 我们要做的就是拓展Function.prototype来“动态植入” ...
- RN热更新
说白了集成RN业务,就是集成RN离线包,解析并渲染.所以,RN热更新的根本原理就是更换js bundle文件和资源文件,并重新加载,新的内容就完美的展示出来了. 目前市场上出现的3种热更新模式如下:仅 ...
- Todo&Rocket
Todo是怎么实现的? 前面两篇博客分别介绍了MVC和Backbone.js的逻辑,但是实战获真知,在来一篇来显示下Todo是怎么通过Backbone.js连接起来的. 忽略掉所有的代码,我们只是打开 ...
- Notes of Daily Scrum Meeting(12.16)
最近好几门课的大作业都到了要截止的时候了,好多天队员们都抽不出来时间做软工的项目了,这样确实 和我们的计划出入很大,不过希望老师谅解,三门课程设计确实压力很大. 今天的团队任务总结如下: 团队成员 今 ...
- Daily Scrum 12.22
姓名 上周末任务 今日任务 刘垚鹏 完善和增加quiz页面的过滤功能 完善和增加quiz页面的过滤功能 王骜 对问答功能的修复 对问答功能的修复 林旭鹏 存储文件路径太长导致bug修复 存储文件路径太 ...
- 《Linux内核分析》第五周:分析system_call中断处理过程
实验 分析system_call中断处理过程 使用gdb跟踪分析一个系统调用内核函数(您上周选择那一个系统调用),系统调用列表参见http://codelab.shiyanlou.com/xref/l ...
- android 权限
1.开发的apk如果想要使用其他组件提供的功能,需要获取对应的权限.android提供了一些权限,在Manifest.permission类中定义. 比较常用的权限:
- Thinkphp中import的几个用法详细介绍
下面附上import的几个用法介绍 1.用法一 import('@.Test.Translate');@,表示项目根目录.假定根目录是:App/导入类库的路径是:App/Lib/Test/Transl ...
- 用Setup Factory7.0怎样打包delphi的BDE?
BDE打包发布实例操作步骤如下: 使用软件:Setup Factory 7.0打包 把C:\Program Files\Common Files\Borland Shared中的所有文件和你的开发的应 ...