一、Redis简介
1.软件说明
Redis是一款开源的,ANSI C语言编写的,高级键值(key-value)缓存和支持永久存储NoSQL数据库产品。
Redis采用内存(In-Memory)数据集(DataSet) 。
支持多种数据类型。
运行于大多数POSIX系统,如Linux、*BSD、OS X等。
作者: Salvatore Sanfilippo
2.软件特性
1)透明性:分布式系统对用户来说是透明的,一个分布式系统在用户面前的表现就像一个传统的单处理机分时系统,可让用户不必了解内部结构就可以使用。
2)扩展性:分布式系统的最大特点就是可扩展性,他可以根据需求的增加而扩展,可以通过横向扩展使集群的整体性能得到线性提升,也可以通过纵向扩展单台服务器的性能使服务器集群的性能得到提升。
3)可靠性:分布式系统不允许单点失效的问题存在,它的基本思想是:如果一台服务器坏了,其他服务器接替它的工作,具有持续服务的特性。
4)高性能:高性能是人们设计分布式系统的一个初衷,如果建立了一个透明,灵活,可靠的分布式系统,但他运行起来像蜗牛一样慢,那这个系统就是失败的。
3.软件获取和帮助
官方网站:https://redis.io/
下载网站:http://download.redis.io/releases/
帮助网站:http://redisdoc.com/
4.软件功能
1)高速读写
2)数据类型丰富
3)支持持久化
4)多种内存分配及回收策略
5)支持事物
6)消息队列、消息订阅
7)支持高可用
8)支持分布式分片集群
5.企业缓存数据库解决方案对比
Memcached:
1)优点:高性能读写、单一数据类型、支持客户端式分布式集群、一致性hash多核结构、多线程读写性能高。
2)缺点:无持久化、节点故障可能出现缓存穿透、分布式需要客户端实现、跨机房数据同步困难、架构扩容复杂度高
Redis:
1)优点:高性能读写、多数据类型支持、数据持久化、高可用架构、支持自定义虚拟内存、支持分布式分片集群、单线程读写性能极高
2)缺点:多线程读写较Memcached慢
Tair:
1)优点:高性能读写、支持三种存储引擎(ddb、rdb、ldb)、支持高可用、支持分布式分片集群、支撑了几乎所有淘宝业务的缓存。
2)缺点:单机情况下,读写性能较其他两种产品较慢
结论
1.Memcached:多核的缓存服务,更加适合于多用户并发访问次数(访问次数较少的应用场景)。
2.Redis:单核缓存服务,在单节点情况下,更加适合少量用户,多次访问的应用场景。
redis一般在企业中,是单机多实例架构
二、Redis安装部署
#下载 [root@db01 src]# wget http://download.redis.io/releases/redis-3.2.12.tar.gz #解压 [root@db01 src]# tar xf redis-3.2.12.tar.gz #移动到指定目录 [root@db01 src]# mv redis-3.2.12 /application/ #做软链接 [root@db01 src]# ln -s /application/redis-3.2.12 /application/redis #进入redis目录 [root@db01 src]# cd /application/redis #编译 [root@db01 redis]# make #添加环境变量 [root@db01 redis]# vim /etc/profile.d/redis.sh export PATH="/application/redis/src:$PATH" #启动redis [root@db01 redis]# src/redis-server & #连接redis [root@db01 redis]# redis-cli #退出redis 127.0.0.1:6379> quit #关闭redis连接 [root@db01 redis]# redis-cli 127.0.0.1:6379> shutdown
1.redis基本配置
#创建redis工作目录 [root@db01 redis]# mkdir -p /etc/redis/6379 #创建redis配置文件 [root@db01 redis]# vim /etc/redis/6379/redis.conf daemonize yes //守护进程模式启动 port 6379 //端口 logfile /etc/redis/6379/redis.log //日志文件位置 dir /etc/redis/6379 //持久化数据文件存储位置 dbfilename dump.rdb //RDB持久化数据文件名称 #指定配置文件启动redis [root@db01 redis]# redis-server /etc/redis/6379/redis.conf