随着技术的发展,非关系型数据库也越来越重要,下面我就简单介绍一下非关系型数据库之一(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)

linux写redis和写文件哪个快 linux redis是什么_redis

第二步:解压源码  tar -zxvf  redis-5.0.9.tar.gz 

[root@iz2ze3k1rfnrzrqraw3ts2z local]# tar -zxvf redis-5.0.9.tar.gz 

linux写redis和写文件哪个快 linux redis是什么_配置文件_02

第三步: 进入解压后的目录进行编译 (上图中的目录redis-5.0.9): 

                进入:cd /usr/local/redis-5.0.9

                编译:make

此时redis结构

linux写redis和写文件哪个快 linux redis是什么_linux写redis和写文件哪个快_03

第四步: 进入到src(上图中的src)下进行安装 make install  验证(ll查看src下的目录,有redis-server 、redis-cil即可)

               进入:cd /usr/local/redis-5.0.9/src

              输入命令: make install

linux写redis和写文件哪个快 linux redis是什么_缓存_04

验证一下查看是否有redis-server和redis-cli,进入src 目录ls

linux写redis和写文件哪个快 linux redis是什么_redis_05

第五步:建立俩文件夹存放redis命令和配置文件

mkdir -p /usr/local/redis/bin

mkdir -p /usr/local/redis/etc

linux写redis和写文件哪个快 linux redis是什么_配置文件_06

创建成功

第六步:将 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

linux写redis和写文件哪个快 linux redis是什么_linux写redis和写文件哪个快_07

更改端口号

linux写redis和写文件哪个快 linux redis是什么_linux写redis和写文件哪个快_08

修改密码 :查找requirepass修改密码(密码修改把前面注释打开)

linux写redis和写文件哪个快 linux redis是什么_redis_09

持久化==》RDB配置方式

默认情况下,是快照RDB的持久化方式,将内存中的数据以快照的方式写入二进制文件中,默认的文件名是dump.rdb

redis.conf默认配置:

save 900 1
save 300 10
save 60 10000

linux写redis和写文件哪个快 linux redis是什么_配置文件_10

配置含义:

 900秒内,如果超过1个key被修改,则发起快照保存

 300秒内,如果超过10个key被修改,则发起快照保存

 60秒内,如果1万个key被修改,则发起快照保存

 默认配置不方便看效果,可将快照频率设大一点,在redis.conf中增加一行:

save 10 1

linux写redis和写文件哪个快 linux redis是什么_linux写redis和写文件哪个快_11

保护模式关闭和bind注释掉,否则  开启了通过外面客户端连接不上

protected-mode no

linux写redis和写文件哪个快 linux redis是什么_redis_12

linux写redis和写文件哪个快 linux redis是什么_linux写redis和写文件哪个快_13

 

外网怎么测试连接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表的规则