【redis】linux上的安装与配置(详细图解)
转载自:https://blog.csdn.net/yjqyyjw/article/details/73293455;经过个人测试也适用于当前最新稳定的3.x的版本,顺便填了几个坑。
1、下载
http://redis.io/download
2、解压至任一目录
tar xzf redis-2.8.17.tar.gz
3、编译并安装
cd redis-2.8.17
make
cd src
make install PREFIX=/usr/local/redis
注意:make编译如果失败,因为没有安装gcc服务(这里补充,还可能导致出错的地方是没有安装jemalloc,可以yum install -y jemalloc安装[安装完还要配置些东西用后者吧]或make时用make MALLOC=libc)
yum install gcc
云安装gcc服务,之后提示下载文件y确认
开始下载,提示安装y确认
rpm -qa |grep gcc查看安装是否成功
这里补充,安装完gcc然后make后(make MALLOC=libc)和后续make install后会出现四行蓝色的INSTALL install;此时可以用ll(ls -l)看看src里有哪些东西
4、将配置文件移动到redis安装目录下(补充,此文件在src上级目录里先cd ..;而且etc需要先mkdir才有)
mv redis.conf /usr/local/redis/etc
5、启动服务、配置
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf(注意,如果执行命令的bash路径就在redis/bin下,那么可以都用相对路径,第二个参数可以是../etc/redis.conf,个人的理解是在终端运行程序那么启动程序时程序会认为自己所在的位置就是终端的当前路径
,这个比如java里用classLoader.getResource("aa.txt")那么其实这个classLoader在创建时就已经设置了它的路径,而对于可执行程序而言就是启动时就设置了终端所在的路径,然后程序里用到的相对路径都是基于那个值的,这个值可以理解为private变量我们无法感知到但它确实存在某处,而
且也不提供对外查询或设置该值的接口,只是程序里如果用到了相对路径保存或读取文件系统能知道;个人再次猜测是程序启动时操作系统都会记录此进程的工作目录,即bash的当前目录,然后此进程调用系统api如保存文件,操作系统执行这个请求时会判断是相对路径还是绝对路径,如果是相对路径则用
注册的工作目录进行补全。这里的重点是无论读文件还是写文件最终都是由操作系统api完成也就是需要操作系统出马(黑客技术除外),自然它能用到此进程的相关启动信息)
第一个是启动redis服务器
第二个是启动服务器所需的配置(补充,这里的解释是有问题的,可以通过file redis.conf发现它只是个文本文件,这里应该是第二个redis.conf是第一个redis-server的参数)
补充,这里会发现按下Ctrl + C退出不了,提示saving DB失败由于权限不够;这是因为你用的不是root用户,而如果你的某个用户等同于root(个人的就是这样虽然不是root但对我而言创建的第一个账户就类似我的root)可以chown -R username redis
将redis的所有者改为username,然后还退出不了可以chmod -R 771 redis(这里只需要第一个是7即可表示文件所有者对这些文件具备rwx的权限)
6、默认情况,Redis不是在后台运行,我们需要把redis放在后台运行
vim /usr/local/redis/etc/redis.conf
将daemonize的值改为yes
7、让redis开机自启
vim /etc/rc.local
加入
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
8、客户端链接
/usr/local/redis/bin/redis-cli
9、停止服务
/usr/local/redis/bin/redis-cli shutdown
或者
pkill redis-server
10、/usr/local/redis/bin目录下的几个关键文件
redis-benchmark:redis性能测试工具
redis-check-aof:检查aof日志的工具
redis-check-dump:检查rdb日志的工具
redis-cli:连接用的客户端
redis-server:redis服务进程
11、conf 配置项介绍
daemonize:如需要在后台运行,把该项的值改为yes
pidfile:把pid文件放在/var/run/redis.pid,可以配置到其他地址(我那是redis_6379.pid)
bind:指定redis只接收来自该IP的请求,如果不设置,那么将处理所有请求,在生产环节中最好设置该项(补充,这个解释不好,其实就是redis启动时会绑定的ip,而且默认是127.0.0.1也就是说只接受本地主机的请求,0.0.0.0才是接受本机所有网卡ip的请求或者注释bind=...那么redis默认绑定0.0.0.0)
port:监听端口,默认为6379
timeout:设置客户端连接时的超时时间,单位为秒
loglevel:等级分为4级,debug,revbose,notice和warning。生产环境下一般开启notice
logfile:配置log文件地址,默认使用标准输出,即打印在命令行终端的端口上
database:设置数据库的个数,默认使用的数据库是0
save:设置redis进行数据库镜像的频率(即将redis的内存数据key-value存储到本地db里,这个跟redis里有多少key-value被修改也有关)
rdbcompression:在进行镜像备份时,是否进行压缩
dbfilename:镜像备份文件的文件名
dir:数据库镜像备份的文件放置的路径
slaveof:设置该数据库为其他数据库的从数据库
masterauth:当主数据库连接需要密码验证时,在这里设定
requirepass:设置客户端连接后进行任何其他指定前需要使用的密码
maxclients:限制同时连接的客户端数量
maxmemory:设置redis能够使用的最大内存
appendonly:开启appendonly模式后,redis会把每一次所接收到的写操作都追加到appendonly.aof文件中,当redis重新启动时,会从该文件恢复出之前的状态
appendfsync:设置appendonly.aof文件进行同步的频率
vm_enabled:是否开启虚拟内存支持
vm_swap_file:设置虚拟内存的交换文件的路径
vm_max_momery:设置开启虚拟内存后,redis将使用的最大物理内存的大小,默认为0
vm_page_size:设置虚拟内存页的大小
vm_pages:设置交换文件的总的page数量
vm_max_thrrads:设置vm IO同时使用的线程数量
【redis】linux上的安装与配置(详细图解)的更多相关文章
- 在Linux上怎么安装和配置Apache Samza
samza是一个分布式的流式数据处理框架(streaming processing),它是基于Kafka消息队列来实现类实时的流式数据处理的.(准确的说,samza是通过模块化的形式来使用kafka的 ...
- java环境--JDK和Tomcat在linux上的安装和配置
Tomcat在Linux上的安装与配置 以下使用的Linux版本为: Redhat Enterprise Linux 7.0 x86_64,Tomcat版本为tomcat-7.0.54.1.下载JDK ...
- Linux上centOs6+安装mysql5.7详细教程 - 前端小鱼塘
https://coyhom.github.io/ 人类的本质是复读机,作为一个非linux专业人员学习linux最好的办法是重复 环境centos6.5 版本5.7 1: 检测系统是否自带安装mys ...
- Nginx 在 Linux 上的安装和配置
一.Nginx的安装 1.单台Nginx的安装 Nginx在Linux上的安装可以参考这篇博客:http://blog.csdn.net/molingduzun123/article/details/ ...
- nginx在linux上的安装与配置详解(一)
Nginx的安装与配置详解 (1)nginx简介 nginx概念: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like ...
- Tomcat在Linux上的安装与配置
以下使用的Linux版本为: Redhat Enterprise Linux 6.5 x86_64,Tomcat版本为tomcat-7.0.54. 1.下载JDK与Tomcat. jdk下载地址 ...
- LINUX 上源代码安装与配置samba服务,支持从windows上读写LINUX文件。
###动机###在windows编写代码文件比较方便,因为有source insight.但是需要在LINUX上编译.一种办法就是使用samba文件共享. [1] 下载samba代码.按照config ...
- Tomcat与jdk在Linux上的安装与配置
本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加). QQ群: 281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29Lo ...
- redis在linux上的安装和配置
https://blog.csdn.net/lzding/article/details/52040501(直接可以用的安装phpredis) http://www.runoob.com/redis/ ...
随机推荐
- Eclipse 工程使用相对路径导入Jar包设置
环境:MyEclipse 6.5 问题:MyEclipse 工程使用相对路径导入Jar包 我们在导入工程时,往往添加Jar都是使用的绝对路径,但这带来了一个问题,不同的用户使用工程都得重新配置Buil ...
- UI5-文档-4.31-Routing and Navigation
到目前为止,我们已经把所有的应用程序内容放在一个页面上.随着我们添加越来越多的特性,我们希望将内容拆分并将其放在不同的页面上. 在这一步中,我们将使用SAPUI5导航特性加载并显示一个单独的详细信息页 ...
- sqlserver还原数据库
该方法只针对同等级数据库,不能跨级 比如sqlserver2012还原到sqlserver2008会报错 用数据库日志文件对数据库进行还原一 将日志文件.mdf文件和.ldf文件copy放置在sq ...
- 使用innodb_force_recovery解决MySQL崩溃无法重启问题
因为日志已经损坏,这里采用非常规手段,首先修改innodb_force_recovery参数,使mysqld跳过恢复步骤,将mysqld 启动,将数据导出来然后重建数据库.innodb_force_r ...
- Gearman安装及使用
基础安装包 yum install vim wget gcc gcc-c++ make dos2unix gperf libevent libevent-devel zlib-devel bzip2- ...
- 一步步实现 easyui datagrid表格宽度自适应,效果非常好
一步步实现 easyui datagrid表格宽度自适应,效果非常好: 一.设置公共方法,使得datagrid的属性 fitColumns:true $(function(){ //初始加载,表格宽 ...
- C#累加器函数Aggregate用法 讲解
Enumerable.Aggregate 扩展方法在System.Linq命名空间中,是Enumerable类的第一个方法(按字母顺序排名),但确是Enumerable里面相对复杂的方法. MSDN对 ...
- KNN识别手写数字
一.问题描述 手写数字被存储在EXCEL表格中,行表示一个数字的标签和该数字的像素值,有多少行就有多少个样本. 一共42000个样本 二.KNN KNN最邻近规则,主要应用领域是对未知事物的识别,即判 ...
- EasyUI 导出页面到Excel中
<script type="text/javascript"> <!-- js --> /*================================ ...
- SharePoint 2010 外部数据类型
需求描述: 在sharepoint 2010有时需要访问外部的数据(如sql数据库). 参考文章: 外部内容类型 Business Connectivity Services ECT外部内容类型 Se ...