简介:css
Redis是一种高级key-value数据库。它跟memcached相似,不过数据能够持久化,并且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。因此Redis也能够被当作是一个数据结构服务器。linux
Redis的全部数据都是保存在内存中(效率高),而后不按期的经过异步方式保存到磁盘上(这称为“半持久化模式”);也能够把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。redis
在这里我仅仅给出Redis在CentOS 7上的安装部署。数据库
步骤一:下载Redis安装包apache
首先从官网下在redis正式版的压缩包redis-2.8.19.tar.gz:vim
cd /home/downloads
wget http://download.redis.io/releases/redis-2.8.19.tar.gz
步骤二:编译源程序缓存
解压和编译ruby
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-aofbash
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’ ;)
INSTALL install INSTALL install INSTALL install INSTALL install INSTALL install
这时候,咱们能够看看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仍然是在前台运行。
若是要后台启动该怎么办呢?
在这里咱们用—-直接将命令丢到后台中“执行”的 & ?能够吗?
答案是不能够的,Redis的后台启动并运行须要经过配置文件中的参数设置。若是须要在后台运行,把daemonize配置项改成yes
vim /usr/local/redis/etc/redis.conf
搜索 :’\daemonize’
把daemonize配置项改成yes
保存退出
以后咱们再次使用配置文件启动redis-server。
能够看到,redis是后台启动了,而且经过ps命令能够查看到redis正在运行。
[linuxidc@localhost bin]\$ ./redis-server /usr/local/redis/etc/redis.conf [linuxidc@localhost bin]\$ ps -ef | grep redis root 13154 1 0 22:53 ? 00:00:00 ./redis-server *:6379 neil 13162 8143 0 22:54 pts/0 00:00:00 grep --color=auto redis [linuxidc@localhost bin]$ pstree -p | grep redis |-redis-server(13154)-+-{redis-server}(13156) | `-{redis-server}(13157)
Redis服务端默认链接端口是6379.
就比如 MySQL 或 mariadb 服务端默认链接端口是3306
在平时,咱们每每须要查看6379端口是否被占用。能够用如下命令:
netstat -tunpl | grep 6379
注意,redis服务须要 root 权限才能查看,否则���能检查到6379被某个进程占用,可是看不到进程名称。
至此,redis服务已经按照配置文件启动成功!!
步骤五:客户端登陆
[linuxidc@localhost bin]$ /usr/local/redis/bin/redis-cli
回车后若是提示:
[linuxidc@localhost bin]$ /usr/local/redis/bin/redis-cli 127.0.0.1:6379>//提示
则代表客户端登陆成功
步骤六:关闭Redis服务
中止Redis实例
咱们可使用pkill redis-server
[linuxidc@localhost bin]$ pkill redis-server [linuxidc@localhost bin]$ netstat -tunpl | grep 6379 [linuxidc@localhost bin]$ [linuxidc@localhost bin]$ pstree -p | grep redis [linuxidc@localhost bin]$ [linuxidc@localhost bin]$ [linuxidc@localhost bin]$ /usr/local/redis/bin/redis-cli Could not connect to Redis at 127.0.0.1:6379: Connection refused not connected> not connected> exit
关闭以后,发现6379就再也不被占用了,redis的进程也都没有了。
客户登录也没法成功了。
也可使用/usr/local/redis/bin/redis-cli shutdown,这种方法使用客户端命令redis-cli 进行Redis服务的中止
[linuxidc@localhost bin]]$ ./redis-server /usr/local/redis/etc/redis.conf [linuxidc@localhost bin]$ pstree -p | grep redis |-redis-server(13509)-+-{redis-server}(13511) | `-{redis-server}(13512) [linuxidc@localhost bin]$ /usr/local/redis/bin/redis-cli shutdown [linuxidc@localhost bin]$ pstree -p | grep redis [linuxidc@localhost bin]$ [linuxidc@localhost bin]$ sudo netstat -tunpl | grep 6379 [linuxidc@localhost bin]$
固然关闭某个服务还可使用 killall 和 kill -9.
附录:更多的关于 /usr/local/redis/etc/redis.conf 的配置信息
一、daemonize 若是须要在后台运行,把该项改成yes
二、pidfile 配置多个pid的地址 默认在/var/run/redis.pid
三、bind 绑定ip,设置后只接受来自该ip的请求
四、port 监听端口,默认是6379
五、loglevel 分为4个等级:debug verbose notice warning
六、logfile 用于配置log文件地址
七、databases 设置数据库个数,默认使用的数据库为0
八、save 设置redis进行数据库镜像的频率。
九、rdbcompression 在进行镜像备份时,是否进行压缩
十、dbfilename 镜像备份文件的文件名
十一、Dir 数据库镜像备份的文件放置路径
十二、Slaveof 设置数据库为其余数据库的从数据库
1三、Masterauth 主数据库链接须要的密码验证
1四、Requriepass 设置 登录时须要使用密码
1五、Maxclients 限制同时使用的客户数量
1六、Maxmemory 设置redis可以使用的最大内存
1七、Appendonly 开启append only模式
1八、Appendfsync 设置对appendonly.aof文件同步的频率(对数据进行备份的第二种方式)
1九、vm-enabled 是否开启虚拟内存支持 (vm开头的参数都是配置虚拟内存的)
20、vm-swap-file 设置虚拟内存的交换文件路径
2一、vm-max-memory 设置redis使用的最大物理内存大小
2二、vm-page-size 设置虚拟内存的页大小
2三、vm-pages 设置交换文件的总的page数量
2四、vm-max-threads 设置VM IO同时使用的线程数量
2五、Glueoutputbuf 把小的输出缓存存放在一块儿
2六、hash-max-zipmap-entries 设置hash的临界值
2七、Activerehashing 从新hash
下面关于Redis的文章您也可能喜欢,不妨参考下:
Ubuntu 14.04下Redis安装及简单测试 http://www.linuxidc.com/Linux/2014-05/101544.htm
Redis主从复制基本配置 http://www.linuxidc.com/Linux/2015-03/115610.htm
CentOS 7下Redis的安装与配置 http://www.linuxidc.com/Linux/2017-02/140363.htm
Ubuntu 14.04安装Redis与简单配置 http://www.linuxidc.com/Linux/2017-01/139075.htm
Ubuntu 16.04环境中安装PHP7.0 Redis扩展 http://www.linuxidc.com/Linux/2016-09/135631.htm
Redis 单机&集群离线安装部署 http://www.linuxidc.com/Linux/2017-03/141403.htm
CentOS 7.0 安装Redis 3.2.1详细过程和使用常见问题 http://www.linuxidc.com/Linux/2016-09/135071.htm
Ubuntu 16.04环境中安装PHP7.0 Redis扩展 http://www.linuxidc.com/Linux/2016-09/135631.htm
Ubuntu 15.10下Redis集群部署文档 http://www.linuxidc.com/Linux/2016-06/132340.htm
Redis实战 中文PDF http://www.linuxidc.com/Linux/2016-04/129932.htm
Redis热迁移实战总结 http://www.linuxidc.com/Linux/2017-02/141083.htm
Redis3.0配置文件详解 http://www.linuxidc.com/Linux/2017-03/141369.htm
本文永久更新连接地址:http://www.linuxidc.com/Linux/2017-05/143312.htm
转载:https://www.linuxidc.com/Linux/2017-05/143312.htm