随着技术的发展,非关系型数据库也越来越重要,下面我就简单介绍一下非关系型数据库之一(NoSql)的redis。
1. redis介绍
1.1. 什么是redis
Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:
字符串类型 String(字符串)
散列类型 Hash(哈希)
列表类型 List(列表)
集合类型 Set(集合)
有序集合类型 (sorted set:有序集合)
5种数据类型
String:key-value(做缓存)
Hash:key-fields-values(做缓存)
List:有顺序可重复
Set:无顺序,不能重复
SortedSet(zset):有顺序,不能重复
1.2. redis的应用场景
缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用)
分布式集群架构中的session分离。
聊天室的在线好友列表。
任务队列。(秒杀、抢购、12306等等)
应用排行榜。
网站访问统计。
数据过期处理(可以精确到毫秒)
2.Redis的安装(linux下)
前言:
redis是C语言开发,建议在linux上运行,本教程使用Centos6.4作为安装环境。
安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++
版本说明:本教程使用redis3.0版本。3.0版本主要增加了redis集群功能。(集群的安装后期讲解)
源码下载:从官网下载 http://download.redis.io/releases/redis-3.0.0.tar.gz (版本号奇数为测试版,如需下载请下载偶数版本如3.0.0)
下载redis
官网下载:Index of /releases/
前置需求:要先安装GCC 命令:yum install gcc-c++
[root@iz2ze3k1rfnrzrqraw3ts2z ~]# yum install gcc-c++
输入 y,回车继续安装,最后出现 Complete! 表示安装完成
正式安装步骤:
第一步:下载指定版本的redis放在linux服务器的/usr/local下(笔者的版本是redis-5.0.9.tar.gz)
第二步:解压源码 tar -zxvf redis-5.0.9.tar.gz
[root@iz2ze3k1rfnrzrqraw3ts2z local]# tar -zxvf redis-5.0.9.tar.gz
第三步: 进入解压后的目录进行编译 (上图中的目录redis-5.0.9):
进入:cd /usr/local/redis-5.0.9
编译:make
此时redis结构
第四步: 进入到src(上图中的src)下进行安装 make install 验证(ll查看src下的目录,有redis-server 、redis-cil即可)
进入:cd /usr/local/redis-5.0.9/src
输入命令: make install
验证一下查看是否有redis-server和redis-cli,进入src 目录ls
第五步:建立俩文件夹存放redis命令和配置文件
mkdir -p /usr/local/redis/bin
mkdir -p /usr/local/redis/etc
创建成功
第六步:将 redis-5.0.5 里的主配置文件 redis.conf 拷贝到刚创建的 etc 目录
[root@iz2ze3k1rfnrzrqraw3ts2z redis-5.0.9]# cp /usr/local/redis-5.0.9/redis.conf /usr/local/redis/etc/
第七步:进入到src目录中,再将(第四步图片中的绿色) src 目录里带有绿色标识的文件全都拷贝到刚创建的 bin 目录
[root@all src]# cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server redis-trib.rb /usr/local/redis/bin/
第八步启动(这步就可以默认启动了,如果要修改配置文件,可以先修改在启动)
进入cd /usr/local/redis 启动时并指定配置文件:./redis-server /usr/local/redis/etc/redis.conf(注意要使用后台启动,所以修改redis.conf里的 daemonize 改为yes)
高级部分
后台启动,修改配置文件(将daemonize改为yes)
vi /usr/local/redis/etc/redis.conf
更改端口号
修改密码 :查找requirepass修改密码(密码修改把前面注释打开)
持久化==》RDB配置方式
默认情况下,是快照RDB的持久化方式,将内存中的数据以快照的方式写入二进制文件中,默认的文件名是dump.rdb
redis.conf默认配置:
save 900 1
save 300 10
save 60 10000
配置含义:
900秒内,如果超过1个key被修改,则发起快照保存
300秒内,如果超过10个key被修改,则发起快照保存
60秒内,如果1万个key被修改,则发起快照保存
默认配置不方便看效果,可将快照频率设大一点,在redis.conf中增加一行:
save 10 1
保护模式关闭和bind注释掉,否则 开启了通过外面客户端连接不上
protected-mode no
外网怎么测试连接redis服务器呢,首先需要防火墙允许redis端口6379开放出来。
a) iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 6379 -j ACCEPT
#允许6379端口
b) service iptables save #保存iptables规则
c) iptables -nvL 查看iptables表的规则