Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器。
Redis的所有数据都是保存在内存中(效率高),然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。
在这里我仅仅给出Redis在CentOS 7上的安装部署。
步骤一:下载Redis安装包
首先从官网下在redis正式版的压缩包redis-2.8.19.tar.gz:
cd /home/downloads wget .redis.io/releases/redis-2.8.19.tar.gz步骤二:编译源程序
解压和编译
tar -zxvf redis-2.8.19.tar.gz cd redis-2.8.19/src //编译 make…….此处是大量编译过程,省略。可能有一些警告,不去官它们………….
CC setproctitle.o
CC hyperloglog.o
CC latency.o
CC sparkline.o
LINK redis-server
INSTALL redis-sentinel
CC redis-cli.o
LINK redis-cli
CC redis-benchmark.o
LINK redis-benchmark
CC redis-check-dump.o
LINK redis-check-dump
CC redis-check-aof.o
LINK redis-check-aof
Hint: It’s a good idea to run ‘make test’ ;)
进入src进行安装:
cd src make install//安装过程提示
Hint: It’s a good idea to run ‘make test’ ;)
这时候,我们可以看看src下的文件:
可以看到此时,src文件夹下出现了一些绿色的文件,这些文件就是我们以后需要用到的命令文件
步骤三:移动文件
移动文件,便于管理:(所有源代码安装的软件都安装在/usr/local下,如apache等)
创建两个文件夹,bin用于存放命令,etc拥有存放配置文件。
mkdir -p /usr/local/redis/etc mkdir -p /usr/local/redis/etc-p是递归创建。
接下来,将redis-2.8.19文件夹下的redis.conf复制到/usr/local/redis/etc/
并将src目录下的7个命令文件(绿色的),移动到/usr/local/redis/bin/
[linuxidc@localhost src]$ cd .. [linuxidc@localhost redis-2.8.19]$ ls 00-RELEASENOTES COPYING Makefile redis.conf sentinel.conf utils BUGS deps MANIFESTO runtest src CONTRIBUTING INSTALL README runtest-sentinel tests [linuxidc@localhost redis-2.8.19]$ mv ./redis.conf /usr/local/redis/etc/ [linuxidc@localhost redis-2.8.19]$ cd src [linuxidc@localhost src]$ mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server /usr/local/redis/bin/步骤四:启动Redis服务:
首先进入刚才安装redis的目录:
[linuxidc@localhost src]$ cd /usr/local/redis/bin [linuxidc@localhost bin]$ ls mkreleasehdr.sh redis-check-aof redis-cli redis-server redis-benchmark redis-check-dump redis-sentinel之后我们启动redis服务。启动redis服务需要用到命令redis-server
[linuxidc@localhost bin]$ ./redis-server结果:
但是,这样做的话,我们并没有使用etc的下的配置文件进行启动(图中红线部分)。
如果希望通过指定的配置文件启动,需要在启动时指定配置文件:
这里我们先用ctrl+C来终止服务,然后查看redis服务是否终止干净了,之后通过设置配置文件来启动服务:
按下ctrl+c后(^C):
^C[32138 | signal handler] (1463921540) Received SIGINT scheduling shutdown... [32138] 22 May 20:52:20.380 # User requested shutdown... [32138] 22 May 20:52:20.380 * Saving the final RDB snapshot before exiting. [32138] 22 May 20:52:20.393 * DB saved on disk [32138] 22 May 20:52:20.393 # Redis is now ready to exit, bye bye...运行:pstree -p | grep redis 发现redis服务已经被终止干净
现在我们带上配置文件 /usr/local/etc/redis.conf 运行redis
[linuxidc@localhost bin]$ ./redis-server /usr/local/redis/etc/redis.conf但是,现在redis仍然是在前台运行。
如果要后台启动该怎么办呢?
在这里我们用—-直接将命令丢到后台中“执行”的 & ?可以吗?