Linux下Redis的安装和部署
一、Redis介绍
Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统。和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括string、list、set、zset和hash。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。在此基础上,Redis支持各种不同方式的排序。
和Memcache一样,Redis数据都是缓存在计算机内存中,不同的是,Memcache只能将数据缓存到内存中,无法自动定期写入硬盘,这就表示,一断电或重启,内存清空,数据丢失。所以Memcache的应用场景适用于缓存无需持久化的数据。而Redis不同的是它会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,实现数据的持久化。
二、Redis的安装
下面介绍在Linux环境下,Redis的安装与部署
1、首先上官网下载Redis 压缩包,地址:http://redis.io/download 下载稳定版3.0.7即可。
2、通过远程管理工具,将压缩包拷贝到Linux服务器中,执行解压操作
3、执行make 对Redis解压后文件进行编译
在linux系统上对redis源码进行编译时提示提示“make cc Command not found,make: *** [adlist.o] Error 127”。这是由于系统没有安装gcc环境,因此在进行编译时才会出现上面提示,当安装好gcc后再进行编译时,上面错误提示将消失。
-
这是由于新安装的Linux系统没有安装gcc环境,需要安装gcc,为了方便,这里我选择用yum进行安装。
# yum install gcc
如果提示You need to be root to perform this command,要用root账户登录。
-
-
验证gcc是否安装成功
# rpm -qa |grep gcc
-
重新对redis进行编译安装
# make && make install
通过下图可以看到编译通过,并成功安装redis。
-
总结:在进行linux系统安装时,尤其是进行linux服务器安装时,系统工程师往往会最小化安装相应的在linux系统。那么,在这样的linux系统上进行源码文件编译安装时,通常都会出现cc: Command not found,这说明系统上没有安装C语言环境,需要安装,在linux系统上的C环境是gcc,因此需要安装gcc。
第四步:编译成功后进入redis-2.6.14/src 目录
# cd /usr/local/soft/redis-2.6.14/src
# ll
会看到有几个可执行文件:
这里我们只需要用到两个文件就可以了:redis-server和redis-cli
第五步:创建一个工作目录,然后将上述的两个文件copy到工作目录下
我是在/usr/local/目录下创建了一个redis 目录
# cd /usr/local/
# mkdir redis
然后将src目录下的redis-server和server-cli 复制到redis目录下
[[email protected] src]# cp redis-cli redis-server /usr/local/redis/
然后再回到redis-2.6.14 源码目录 将redis.conf 文件复制到 redis 目录下
[[email protected] redis-2.6.14]# cp redis.conf /usr/local/redis/
最终结果是,redis目录下有了三个文件 如下图:
到这里,就算完成了 ,
接下来运行redis服务:
[[email protected] redis]# ./redis-server
出现下面的界面,就说明你的redis可以正常使用了
现在还有个问题:redis在前台运行,我不能做其他事情怎么办?如何将redis放在后台运行?
方法:修改redis.conf 文件,将daemonize no 改为daemonize yes
[[email protected] redis]# vi redis.conf
将no修改为yes ; 保存退出
杀掉rdis进程,然后再次打开redis服务
[[email protected] redis]# killall redis-server
[[email protected] redis]# ./redis-server redis.conf
出现如下界面说明成功让redis在后台运行
如果想查看进程里面有没有redis服务,可以用pstree命令查看进程:
[[email protected] redis]# pstree
后台运行成功以后,用redis-cli客户端连接redis:
[[email protected] redis]# ./redis-cli 192.168.0.101 6379
上面代码中IP地址和端口号可以不写,不写的话,默认连接本机redis
查看redis里面有没有数据
命令:keys *
暂时还没有数据
来添加一条数据吧!
命令 : set mykey “tom”
或者 :set mykey "tom" EX 100 NX
SET KEY VALUE [EX seconds] [PX milliseconds] [NX|XX]
-
EX seconds
− 设置指定的到期时间(以秒为单位)。 -
PX milliseconds
- 设置指定的到期时间(以毫秒为单位)。 -
NX
- 仅在键不存在时设置键。 -
XX
- 只有在键已存在时才设置。
读取一条数据:
命令: get mykey
到这里,redis就算是安装成了
注意:这里直接执行Redis-server 启动的Redis服务,是在前台直接运行的(效果如上图),也就是说,执行完该命令后,如果Lunix关闭当前会话,则Redis服务也随即关闭。正常情况下,启动Redis服务需要从后台启动,并且指定启动配置文件。
3、后台启动redis服务
a)首先编辑conf文件,将daemonize属性改为yes(表明需要在后台运行)
cd bin/
Vi redis.confb)再次启动redis服务,并指定启动服务配置文件
./redis-server redis.conf (表明启动的时候加载配置文件)
4、服务端启动成功后,执行redis-cli启动Redis 客户端,查看端口号。
-