一、认识 Redis
Redis 数据库是一个非关系型数据库。
1.1 关系型数据库与非关系型数据库
数据库按照数据库的结构可以分为关系型数据库与其他数据库,而这些其他数据库统称为非关系型数据库。
1.1.1 关系型数据库
关系型数据库是一个结构化的数据库,创建在关系模型基础上,一般面向于记录。它借 助于集合代数等数学概念和方法来处理数据库中的数据。关系模型就是指二维表格模型,因而一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。现实世界中,各种实体与实体之间的各种联系都可以用关系模型来表示。SQL 语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型数据库中数据的检索和操作。
主流的关系型数据库包括 Oracle、MySQL、SQLServer、MicrosoftAccess、DB2 等。
1.1.2 非关系型数据库
NoSQL(NoSQL=Not Only SQL),意思是“不仅是 SQL”,是非关系型数据库的总称。 主流的 NoSQL 数据库有 Redis、MongBD、Hbase、CouhDB 等等,他们的存储方式、存储结构以及使用的场景都是完全不同的。所以我们认为它是一个非关系型数据库的集合。总而言之,除了主流的关系型数据库以外的数据库,都可以认为是非关系型数据库。
1.1.3 非关系型数据库产生背景
High performance——对数据库高并发读写需求
Huge Storage——对海量数据高效存储与访问需求
High Scalability && HighAvailability——对数据库高可扩展性与高可用性需求
1.2 Redis 简介
Redis(RemoteDictionaryServer,远程字典型)是一个开源的、使用 C 语言编写的
NoSQL 数据库。Redis 基于内存运行并支持持久化,采用 key-value(键值对)的存储形式,是目前分布式架构中不可或缺的一环。
Redis 的优点:
具有极高的数据读写速度,数据读取的速度最高可达到 110000 次/s,数据写入速度最高可达到 81000 次/s。
支持丰富的数据类型,不仅仅支持简单的 key-value 类型的数据,还支持 Strings,Lists, Hashes, Sets 及 Ordered Sets 等数据类型操作。
支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行
使用。
原子性,Redis 所有操作都是原子性的。
支持数据备份,即 master-salve 模式的数据备份。
1.3 Redis 安装部署(手工编译安装)
[root@localhost ~]# iptables -F
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum install gcc gcc-c++ make -y
将软件包拷贝到当前目录下
[root@localhost ~]# tar zvxf redis-5.0.7.tar.gz -C /opt
[root@localhost ~]# cd /opt/redis-5.0.7/
[root@localhost redis-5.0.7]# make
[root@localhost redis-5.0.7]# make PREFIX=/usr/local/redis install
[root@localhost redis-5.0.7]# ln -s /usr/local/redis/bin/* /usr/local/bin/
[root@localhost redis-5.0.7]# cd utils/
[root@localhost utils]# ./install_server.sh ##安装服务脚本
Welcome to the redis service installer
This script will help you easily set up a running redis server
Please select the redis port for this instance: [6379] ##选择redis默认接口,回车
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf] ##redis默认配置文件名称,回车
Selected default - /etc/redis/6379.conf
Please select the redis log file name [/var/log/redis_6379.log] ##默认redis日志文件名称,回车
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379] ##选择默认接口的默认数据文件,回车
Selected default - /var/lib/redis/6379
Please select the redis executable path [/usr/local/bin/redis-server] ##选择redis可执行文件路径
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/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
Is this ok? Then press ENTER to go on or Ctrl-C to abort. ##确认ok,回车
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!
[root@localhost utils]# netstat -luntp | grep redis
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 15552/redis-server
redis的启动管理命令
[root@localhost utils]# /etc/init.d/redis_6379 stop ##停止
Stopping ...