转载自: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上的安装与配置(详细图解)的更多相关文章

  1. 在Linux上怎么安装和配置Apache Samza

    samza是一个分布式的流式数据处理框架(streaming processing),它是基于Kafka消息队列来实现类实时的流式数据处理的.(准确的说,samza是通过模块化的形式来使用kafka的 ...

  2. java环境--JDK和Tomcat在linux上的安装和配置

    Tomcat在Linux上的安装与配置 以下使用的Linux版本为: Redhat Enterprise Linux 7.0 x86_64,Tomcat版本为tomcat-7.0.54.1.下载JDK ...

  3. Linux上centOs6+安装mysql5.7详细教程 - 前端小鱼塘

    https://coyhom.github.io/ 人类的本质是复读机,作为一个非linux专业人员学习linux最好的办法是重复 环境centos6.5 版本5.7 1: 检测系统是否自带安装mys ...

  4. Nginx 在 Linux 上的安装和配置

    一.Nginx的安装 1.单台Nginx的安装 Nginx在Linux上的安装可以参考这篇博客:http://blog.csdn.net/molingduzun123/article/details/ ...

  5. nginx在linux上的安装与配置详解(一)

    Nginx的安装与配置详解 (1)nginx简介     nginx概念: Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like ...

  6. Tomcat在Linux上的安装与配置

    以下使用的Linux版本为: Redhat Enterprise Linux 6.5 x86_64,Tomcat版本为tomcat-7.0.54. 1.下载JDK与Tomcat.    jdk下载地址 ...

  7. LINUX 上源代码安装与配置samba服务,支持从windows上读写LINUX文件。

    ###动机###在windows编写代码文件比较方便,因为有source insight.但是需要在LINUX上编译.一种办法就是使用samba文件共享. [1] 下载samba代码.按照config ...

  8. Tomcat与jdk在Linux上的安装与配置

    本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加). QQ群:   281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29Lo ...

  9. redis在linux上的安装和配置

    https://blog.csdn.net/lzding/article/details/52040501(直接可以用的安装phpredis) http://www.runoob.com/redis/ ...

随机推荐

  1. c语言使用librdkafka库实现kafka的生产和消费实例(转)

    关于librdkafka库的介绍,可以参考kafka的c/c++高性能客户端librdkafka简介,本文使用librdkafka库来进行kafka的简单的生产.消费 一.producer librd ...

  2. 离线安装Cloudera Manager 5和CDH5

    关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Cloudera 完全开源的Hadoop  ...

  3. tair介绍以及配置

    简介 tair 是淘宝自己开发的一个分布式 key/value 存储引擎. tair 分为持久化和非持久化两种使用方式. 非持久化的 tair 可以看成是一个分布式缓存. 持久化的 tair 将数据存 ...

  4. JAR命令使用

    jar 命令详解 jar 是随 JDK 安装的,在 JDK 安装目录下的 bin 目录中,Windows 下文件名为 jar.exe,Linux 下文件名为 jar.它的运行需要用到 JDK 安装目录 ...

  5. Inteiilj IDEA 团队代码格式规范

    目录 Intellij IDEA code format Tabs and Indents Spaces Wrapping and Braces Imports 更新 Intellij IDEA co ...

  6. springmvc获取资源文件的两种方式(超简单)

    1 比如我们在sc目录下新建一个db.properties文件内容如下 DriverClass=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306 ...

  7. Spring boot集成 MyBatis 通用Mapper

    配置 POM文件 <parent> <groupId>org.springframework.boot</groupId> <artifactId>sp ...

  8. poj1182(带权并查集)

    题目链接:http://poj.org/problem?id=1182 题意:题目告诉有  3  种动物,互相吃与被吃,现在告诉你  m  句话,其中有真有假,叫你判断假的个数  (  如果前面没有与 ...

  9. 早停法(Early Stopping)

    一.早停法简介(Early Stopping)当我们训练深度学习神经网络的时候通常希望能获得最好的泛化性能(generalization performance,即可以很好地拟合数据).但是所有的标准 ...

  10. 43. Multiply Strings (String)

    Given two numbers represented as strings, return multiplication of the numbers as a string. Note: Th ...