Redis数据库简介与CentOS 7下编译安装流程

前言
ASP站长网本文从NoSQL诞生的由来引出Redis数据库,并对其简单介绍,然后进行Redis手工编译安装的流程演示(实验Linux环境的系统版本为:CentOS 7),最后介绍Redis常用的命令工具。
 
什么是NoSQL?
​ NoSQL——non-relational SQL,非关系型数据库。非关系型数据库的存储方式、存储结构以及使用场景都是完全不同的。随着网络发展,关系型数据库在应对海量数据以及高并发的网络服务时遇到相关的问题:
 
1)无法满足对数据库的高并发读写需求
 
2)无法满足对海量数据高效存储与访问
 
3)无法满足数据库的高可用与高扩展性
 
下图给出关系型数据库与非关系型数据库的思维导图,以便参考:
 
Redis数据库简介与手工编译安装流程
 
Redis简介
​ Redis(RemoteDictionaryServer, 远程字典型)是一个开源的、使用 C 语言编写的 NoSQL数据库。 Redis 基于内存运行并支持持久化, 采用 key-value(键值对) 的存储形式, 是目前分布式架构中不可或缺的一环。
 
其优点与使用场景:
 
●具有极高的数据读写速度, 数据读取的速度最高可达到 110000 次/s, 数据写入速度最高可达到 81000 次/s;
●支持丰富的数据类型, 不仅仅支持简单的 key-value 类型的数据, 还支持 Strings,Lists, Hashes, Sets 及 Ordered Sets 等数据类型操作;
●支持数据的持久化, 可以将内存中的数据保存在磁盘中, 重启的时候可以再次加载进行使用;
●原子性, Redis 所有操作都是原子性的;
●支持数据备份, 即 master-salve 模式的数据备份;
 
​ Redis 作为基于内存运行的数据库, 缓存是其最常应用的场景之一, 除此之外, Redis常见应用场景还包括: 获取最新 N 个数据操作、 排行榜类应用、 计数器应用、 存储关系、实时分析系统、 日志记录等。
 
Redis手工编译安装
1、获取安装包资源解压以及安装编译工具
 
[root@localhost ~]# hostnamectl set-hostname redis_install_install
[root@localhost ~]# su
[root@redis_install ~]# yum install gcc gcc-c++ make -y
[root@redis_install ~]# ls  #redis_install安装包
anaconda-ks.cfg  initial-setup-ks.cfg  redis_install-5.0.7.tar.gz
Desktop          Music                 Templates
Documents        Pictures              Videos
Downloads        Public
[root@redis_install ~]# tar zxvf redis_install-5.0.7.tar.gz -C /opt #redis_install源码包可以直接到官网下载
2、编译安装
 
[root@redis_install redis-5.0.7]# make  #直接进行make
[root@redis_install redis-5.0.7]# make PREFIX=/usr/local/redis_install/ install #指定redis_install目录并安装,安装过程中,更改安装路径可以用make PRRFIX=安装路径 install
[root@redis_install redis-5.0.7]# cd /usr/local/redis_install/
[root@redis_install redis_install]# ls
bin
[root@redis_install redis_install]# cd bin/
[root@redis_install bin]# ls  #redis_install的相关命令工具
redis-benchmark  redis-check-rdb  redis-sentinel
redis-check-aof  redis-cli        redis-server#redis-cli是连接终端
 
[root@redis_install bin]# cd /opt/redis-5.0.7/utils/    #回到redis_install源码包解压目录
[root@redis_install utils]# ./install_server.sh     #执行脚本进行配置:端口、配置文件目录、日志文件目录等
Welcome to the redis service installer
This script will help you easily set up a running redis_install server
 
Please select the redis port for this instance: [6379]  #选择redis_install默认端口,直接回车
Selecting default: 6379
Please select the redis config file name [/etc/redis_install/6379.conf]     #选择redis_install默认配置文件名称,直接回车
Selected default - /etc/redis/6379.conf
Please select the redis_install log file name [/var/log/redisl_6379.log]    #选择默认redis日志文件名称,直接回车
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redi/6379]     #选择默认接口的默认数据文件,直接回车
Selected default - /var/lib/redis/6379
Please select the redis_install executable path [] /usr/local/redis_install/bin/redis_install-server    #选择redis_install可执行文件路径,需要手动输入此路径:/usr/local/redis_install/bin/redis_install-server
Selected config:    #查看配置清单
Port           : 6379
Config file    : /etc/redis/6379.conf
Log file       : /var/log/redis_6379.log
Data dir       : /var/lib/redis/6379
Executable     : /usr/local/redis/bin/redis-server
Cli Executable : /usr/local/redis/bin/redis-cli
Is this ok? Then press ENTER to go on or Ctrl-C to abort.   确认无误后直接回车完成配置
Copied /tmp/6379.conf => /etc/init.d/redis_6379
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
Starting redis server...
Installation successful!
3、优化配置与登录
 
[root@redis_install utils]# ln -s /usr/local/redis_install/bin/* /usr/local/bin #将redis命令创建软连接,便于系统识别
[root@redis_install utils]# netstat -ntap |grep 6379
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      26085/redis_install-server  
[root@redis_install utils]# vim /etc/redis/6379.conf    #修改配置文件
bind 127.0.0.1 20.0.0.133   #添加本机ip作为监听对象
[root@redis_install utils]# /etc/init.d/redis_6379 restart  #重启redis服务
Stopping ...
redis stopped
Starting redi server...
[root@redis_install utils]# redis-cli -h 20.0.0.133 -p 6379 #成功登陆
20.0.0.133:6379> exit   #退出
[root@redis_install utils]#

dawei

【声明】:九江站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。