http://blog.csdn.net/yerenyuan_pku/article/details/72849612

通过上文的学习,我相信大家已经将首页的轮播图展示出来了,接下来我们将进入一个新的领域的学习,希望大家能振作精神,保持乐观向上的心态。本文我会教大家如何在Linux系统上安装Redis。 
一般来说,如果我们是做一个互联网项目,通常都要在工程中添加缓存,之所以这样做,是因为在互联网项目中查询功能是非常频繁的,如果每次查询都调用数据库的话,会给数据库造成很大的压力,因此需要在用户和数据库之间加一层缓存,对于同样的查询,只查询一遍数据库,然后把数据保存到缓存当中,当其他用户再访问同样的页面时便可以直接从缓存中去读取数据,这样查询效率将会提升非常多,同时也会大大减轻数据库的压力。 
联系我们这个淘淘商城项目来说,首页是系统的门户,也就是系统的入口,所以首页的访问量是这个系统最大的,如果每次展示首页都从数据库中查询首页的内容信息,那么势必会对数据库造成很大的压力,所以需要使用缓存来减轻数据库压力。实现缓存的工具有很多,现在比较流行的是Redis,而我们在淘淘商城项目中也是用的Redis哟! 
下面我教大家如何在Linux系统上安装Redis。

下载Redis安装版本

这里需要说明一点的是,新版的redis不够稳定,所以建议大家还是使用旧版本的redis,比如3.0.0版本。我下载的就是这个版本,如下图所示。 

将安装包上传到虚拟机

之前我在Linux系统上安装JDK这篇文章中已经详细讲解过如何上传文件到Linux,所以这里我就不再赘述了。 
怎样知道我们真的上传上去了呢?在当前用户主目录(即root)下使用ll命令查看一下该目录。 

解压

使用tar -zxvf redis-3.0.0.tar.gz命令将root目录下的redis-3.0.0.tar.gz文件还是解压到该目录下。 
 
解压成功之后,再使用ll命令查看一下该目录,如下: 

安装gcc环境

由于redis是由c语言编写的,所以安装redis需要c语言的编译环境,因此我们需要先安装gcc。如果没有gcc,则需要在线安装,安装命令是yum install gcc-c++。 

编译

我们使用cd redis-3.0.0命令切换到redis-3.0.0目录中,这时就要运行make和make install这两个命令,要运行make和make install命令就要有Makefile这个文件,我们使用ll命令是可以看到有这个文件的。 

然后我们使用make命令编译redis源码包。 

安装

我们使用make install PREFIX=/usr/local/redis命令来进行安装。 

注意:PREFIX参数指定redis安装的目录,我们一般把软件安装到/usr(unix share resource)目录下。usr目录下是有local这个目录的,但local目录下面是没有redis目录的,如果redis目录不存在,则会创建这个目录。 
安装完之后,我们切换到/usr/local目录下,可以看到redis目录,如下图所示。 
 
接着我们进入redis目录,在该目录下可以看到bin目录,进入到bin目录可以看到redis的客户端和服务端,如下所示。 

启动redis服务端

第一种启动方式是前端启动,即在redis的安装目录下直接使用./redis-server命令启动redis-server,如下所示(可以看到默认端口是6379),只不过这种启动会占用终端,如果我们按Ctrl+C就会停止redis-server。 

第二种启动方式是使用配置文件启动(也叫后台启动),我们需要先到redis的解压缩目录(/root/redis-3.0.0)下把redis.conf文件复制一份到/usr/local/redis/bin目录下。 

然后我们再切换到/usr/local/redis/bin目录下,使用ll命令可以看到有redis.conf这个文件。 

下面我们需要使用vim redis.conf命令简单修改下redis.conf文件,把daemonize的值由默认的no修改为yes,这个配置是指定是否在后台运行,如下图所示。 

修改完之后,可按esc键+:wq保存修改,并退出编辑。 
下面使用./redis-server redis.conf命令进行后台启动,如下图所示。 
 
要想查看redis是否正常启动了,可以使用ps aux | grep redis命令查看进程,如下图所示,可以看到已经正常启动了。 

关闭redis

如果redis是后台启动的话,那么关闭redis有两种方法。第一种方法是使用kill 进程id命令关闭redis,如果你是要正常关闭redis,请使用该命令,不要使用kill -9 进程id命令,因为该命令是直接杀死进程,比较暴力,而不管进程处于什么状态。 
 
可以使用ps aux | grep redis命令查看是否还有该进程,如下图所示,可以很明显地看到没有了。 

第二种方法是使用./redis-cli shutdown命令关闭redis。为了测试,我们再次启动redis,然后使用该命令关闭redis,如下图所示。 

同样可以使用ps aux | grep redis命令查看是否还有该进程,如下图所示,可以很明显地看到没有了。

连接redis

我们可使用./redis-cli命令连接上redis服务,然后使用ping命令,如果返回的是PONG,说明连接没问题,即redis服务没有挂掉。 
 
从上图可知,默认连接的是localhost运行在6379端口的redis服务。注意,此时如果要退出该连接,可按Ctrl+C组合键。 
我们还可以连接其它设备上的redis,如下图所示(当然,这里我还是用的本地虚拟机的IP,大家可以换成其它设备的IP)。 
 
其实redis里面不只有ping命令,还有keys *命令——查看当前redis数据库这里面有多少个key,如下图所示。 
 
很明显当前redis数据库这里面是没有一个key的。 
然后我们使用set key1 123(redis是一个key-value形式的数据库,类似于HashMap)命令在当前redis数据库里面设置一个key,这时再敲入keys *命令,可以看到有一个key,即key1。 
 
最后我们也可使用get key1命令取出取key1所对应的内容。 

 
0

(转) 淘淘商城系列——Redis的安装的更多相关文章

  1. (转) 淘淘商城系列——Redis集群的搭建

    http://blog.csdn.net/yerenyuan_pku/article/details/72860432 本文我将带领大家如何搭建Redis集群.首先说一下,为何要搭建Redis集群.R ...

  2. (转)淘淘商城系列——Solr的安装

    http://blog.csdn.net/yerenyuan_pku/article/details/72874134 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service ...

  3. (转)淘淘商城系列——zookeeper单机版安装

    http://blog.csdn.net/yerenyuan_pku/article/details/72717744 这篇文章,我单独来说一下zookeeper如何安装.在实际开发中,zookeep ...

  4. (转)淘淘商城系列——Redis持久化方案

    http://blog.csdn.net/yerenyuan_pku/article/details/72858975 Redis中设置key的过期时间 Redis中的expire命令用于设置key的 ...

  5. (转) 淘淘商城系列——Redis五种数据类型介绍

    http://blog.csdn.net/yerenyuan_pku/article/details/72855562 Redis支持五种数据类型:string(字符串),hash(哈希),list( ...

  6. (转) 淘淘商城系列——使用FastDFS-Client客户端进行上传图片的测试

    http://blog.csdn.net/yerenyuan_pku/article/details/72804018 不久之前,我们实现了商品的类目选择这个功能,但这只是万里长征的第一步,我们还有很 ...

  7. 第04项目:淘淘商城(SpringMVC+Spring+Mybatis)【第七天】(redis缓存)

    https://pan.baidu.com/s/1bptYGAb#list/path=%2F&parentPath=%2Fsharelink389619878-229862621083040 ...

  8. (转)淘淘商城系列——使用maven构建工程

    http://blog.csdn.net/yerenyuan_pku/article/details/72669269 开发工具和环境 这里,我统一规范一下淘淘商城的开发工具和环境,如下: Eclip ...

  9. (转) 淘淘商城系列——CMS内容管理系统工程搭建

    http://blog.csdn.net/yerenyuan_pku/article/details/72825801 淘淘商城系列——CMS内容管理系统工程搭建 上文我们一起搭建了表现层中的商城门户 ...

随机推荐

  1. react 项目实战(八)图书管理与自动完成

    图书管理 src / pages / BookAdd.js   // 图书添加页 /** * 图书添加页面 */ import React from 'react'; // 布局组件 import H ...

  2. oracle initialization or shutdown in progress 问题解决

    今天登录oracle时遇到oracle initialization or shutdown in progress 这个错误提示,在网上搜了下,试了非常多方法,最后结合几种方法结合,成功攻克了问题! ...

  3. WPF中的常用布局 栈的实现 一个关于素数的神奇性质 C# defualt关键字默认值用法 接口通俗理解 C# Json序列化和反序列化 ASP.NET CORE系列【五】webapi整理以及RESTful风格化

    WPF中的常用布局   一 写在开头1.1 写在开头微软是一家伟大的公司.评价一门技术的好坏得看具体的需求,没有哪门技术是面面俱到地好,应该抛弃对微软和微软的技术的偏见. 1.2 本文内容本文主要内容 ...

  4. hdu 3006 The Number of set(思维+壮压DP)

    The Number of set Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  5. 怎样在gluster的源代码中加入自己的xlator

    本文并不说明怎样编写一个xlator.在glusterfs3.6.1下验证成功 目标在glusterfs-3.6.1/xlators/debug/下建立一个自己的xlator库并能够统一安装到系统文件 ...

  6. npm won't install packages “npm ERR! network tunneling socket could not be established, cause=Parse Error”

    昨天在使用npm安装react-native的时候一直报网络不能connection,可是在浏览器中直接访问时是成功,搜索百度无果,最后在google中找到了这个解决方案:http://stackov ...

  7. 【bzoj4443】[Scoi2015]小凸玩矩阵

    第K大也就是第n-K+1小,所以就可以的二分答案了 (江哥讲过一道类似题) 二分答案找出比当前答案小的数的位置的坐标,判断一下是否可以选出满足不在同一行同一列的n-K+1个数,然后就可以跑匈牙利了,对 ...

  8. YTU 2635: P4 游戏中的Human角色

    2635: P4 游戏中的Human角色 时间限制: 1 Sec  内存限制: 128 MB 提交: 524  解决: 328 题目描述 在一个平面打斗游戏中,任何的角色(Role)都有血量(bloo ...

  9. js二维数组定义和初始化的三种方法总结

    js二维数组定义和初始化的三种方法总结 方法一:直接定义并且初始化,这种遇到数量少的情况可以用var _TheArray = [["0-1","0-2"],[& ...

  10. python-----获取ip的两种方法

    方法一: 通常使用socket.gethostbyname()方法即可获取本机IP地址,但有时候获取不到(比如没有正确设置主机名称),示例代码如下: import socket # 获取本机计算机名称 ...