中间件之Redis

原文:https://blog.csdn.net/guchuanyun111/article/details/52064870

https://www.cnblogs.com/Survivalist/p/8119891.html

redis用来存储热点数据,Redis中没有的数据才会去数据库中访问

(1)什么是redis?

Redis是基于内存,也可以基于磁盘持久化nosql数据库,使用c语言开发。
数据存储结构:key-value
redis 是一个基于内存的高性能key-value数据库.

(2)Reids的特点

Redis本质上是一个Key-Value类型的内存数据库,
整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush(冲)到硬盘上进行保存。
因为是纯内存操作,Redis的性能非常出色,
每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。

Redis的出色之处不仅仅是性能,
Redis最大的魅力是支持保存多种数据结构,
此外单个value的最大限制是1GB,不像 memcached只能保存1MB的数据,
因此Redis可以用来实现很多有用的功能
用他的List来做FIFO双向链表,实现一个轻量级的高性 能消息队列服务,
用他的Set可以做高性能的tag系统等等。
另外Redis也可以对存入的Key-Value设置expire时间,因此也可以被当作一个功能加强版的memcached来用。

Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,
因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。

(3)Redis支持的数据类型

Strings  Lists  Sets(求交集\并集)  Sorted_Set  Hashes


(4)为什么redis需要把所有数据放到内存

Redis为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数据写入磁盘。
所以redis具有快速和数据持久化的特征。

如果不将数据放在内存中,磁盘I/O速度为严重影响redis的性能。
在内存越来越便宜的今天,redis将会越来越受欢迎。
如果设置了最大使用的内存,则数据已有记录数达到内存限值后不能继续插入新值。

 (5)使用redis有哪些好处?

(1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)
(2) 支持丰富数据类型,支持string,list,set,sorted set,hash
(3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行
(4) 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除

 

posted @ 2018-04-08 15:48  ProZkb  阅读(236)  评论(0编辑  收藏  举报