Redis简介

1.redis是什么

Redis是一款开源的,ANSI C语言编写的,高级键值(key-value)缓存和支持永久存储NoSQL数据库产品。
Redis采用内存(In-Memory)数据集(DataSet) 。
支持多种数据类型。
运行于大多数POSIX系统,如Linux、*BSD、OS X等。

redis就是非关系型数据库的一种,存储方式是:key:value

2.redis的作用

1.会话保持(键过期)
2.缓存(放在数据库前面,memcache,mongodb)
3.消息队列(kafka)

3.为什么要用Redis

1.redis功能全面
2.redis企业使用率高

4.redis优点

1.高速读写
	将所有数据存储在内存,单线程服务,使用C语言
2.部署简单,使用稳定
3.数据类型丰富
    String: 字符串类型
    Hash: 哈希类型
    List: 列表类型
    Set: 集合类型
    Sorted set: 顺序集合类型
4.支持持久化
	将内存的数据写入磁盘
5.多种内存分配及回收策略
6.支持事物、锁
7.消息队列、消息订阅
8.支持高可用
	哨兵模式
9.支持分布式分片集群
10.支持的客户端语言很多
	java,php,python,nodejs,C语言

5.redis帮助

官方网站:https://redis.io/
下载网站:http://download.redis.io/releases/
帮助网站:http://redisdoc.com/

6.缓存服务对比

#Memcached:
1.优点:高性能读写、单一数据类型、支持客户端式分布式集群、一致性hash多核结构、多线程读写性能高。
2.缺点:无持久化、节点故障可能出现缓存穿透、分布式需要客户端实现、跨机房数据同步困难、架构扩容复杂度高

#Redis:
1.优点:高性能读写、多数据类型支持、数据持久化、高可用架构、支持自定义虚拟内存、支持分布式分片集群、单线程读写性能极高
2.缺点:多线程读写较Memcached慢

#Tair:
1.优点:高性能读写、支持三种存储引擎(ddb、rdb、ldb)、支持高可用、支持分布式分片集群、支撑了几乎所有淘宝业务的缓存。
2.缺点:单机情况下,读写性能较其他两种产品较慢

#对比结论:
1.Memcached:多核的缓存服务,更加适合于多用户并发访问次数(访问次数较少的应用场景)。
2.Redis:单核缓存服务,在单节点情况下,更加适合少量用户,多次访问的应用场景。

7.Redis使用场景

1.缓存
	放在数据库前面
2.会话保持
	登录cookie、session
	折扣券,代金券
3.排行榜
4.计数器
	论坛帖子点赞点踩
5.社交软件
	QQ共同好友,微博共同爱好
6.消息队列
	结合ELK做日志收集
原文地址:https://www.cnblogs.com/Applogize/p/13448954.html