前言
目前市场主流的数据存储都是关系型数据库。每次操作关系型数据库时都是I/O操作,但是I/O操作是主要影响程序执行性能原因之一,连接数据库关闭数据库都是消耗性能的过程。尽量减少对数据库的操作,可以明显的提升程序运行效率。
针对上面的问题,市场上就出现了各种NoSQL(Not Only SQL,不是只能使用关系型数据库)数据库。
一、NoSQL简介
NoSQL:Not Only SQL,不是只能使用关系型数据库。
常见NoSQL数据库:
memcached :键值对,内存型数据库,所有数据都在内存中。
Redis:和Memcached类似,还具备持久化能力。
HBase:以列作为存储。
MongoDB:以Document做存储。
二、Redis简介
- Redis是以Key-Value形式进行存储的NoSQL数据库。
- Redis是使用C语言进行编写的。
- 平时操作的数据都在内存中,效率特别高,读的效率110000/s,写的效率是81000/s,所以大多数都把Redis当做缓存工具使用。
- Redis以solt(槽)作为数据存储单元,每个槽中可以存储N多个键值对。Redis中固定具有16384。理论上可以实现一个槽是一个Redis。每个向Redis存储数据的key都会进行crc16算法得出一个值后对16384取余就是这个key存放的solt位置。
- 通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。
三、Redis单机版安装
1.安装依赖C语言依赖
redis使用C语言编写,所以需要安装C语言库。
yum install -y gcc-c++ automake autoconf libtool make tcl
2.上传并解压redis安装包
把redis-5.0.5.tar.gz上传到/usr/local/tmp中并解压。
##上传到该目录下
cd /usr/local/tmp
##解压安装包
tar zxf redis-5.0.5.tar.gz
3.编译并安装
##进入解压后文件夹
cd /usr/local/tmp/redis-5.0.5/
##编译
make
##安装
make install PREFIX=/usr/local/redis
4.开启守护进程
##复制redis.conf配置文件到/usr/local/redis/bin/文件夹下
cp /usr/local/tmp/redis-5.0.5/redis.conf /usr/local/redis/bin/
##修改配置文件
cd /usr/local/redis/bin/
vim redis.conf
把daemonize的值由no修改为yes。
5.修改外部访问
在redis5中需要修改配置文件redis.conf允许外部访问。需要修改两处。
注释掉127.0.0.1
#bind 127.0.0.1
protected-mode yes 改成 no
protected-mode no
6.启动并测试
启动redis
./redis-server redis.conf
重启redis
./redis-cli shutdown
./redis-server redis.conf
启动客户端工具(在redis5中客户端工具对命令会有提供功能。)
./redis-cli