1、Redis是什么
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
2、Redis基本功能
a):Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
b):Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
c):Redis支持数据的备份,即master-slave模式的数据备份。
3、Redis优势
a):性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
b):丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
c):原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
d):丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
4、Redis使用场景
a):用作缓存层。由于Redis是内存存储、支持丰富的数据结构、读取速度也很快,可以支持很高的并发。所以用作缓存层具有很大优势。比如:如果数据库查询量比较大,可以把查询数据Cache住,先进行缓存查询,未命中再从数据库中读取,然后缓存到Redis,下次就可以直接Redis中读取,这样可以提高吞吐量,在高并发情况下很有用
b):数据存储。Redis可以把数据落地到磁盘上,所以少量数据的情况下,可以直接使用Redis,不需要使用数据库,减轻开发成本。
c):临时数据存储。有些业务情况下,会存放一些临时数据,用于计算、监控等等,可以放在Redis。
d):存储时效性的数据。Redis可以设置过期时间,这样有过期需求的数据利用这一点就很方便。
e):任务队列。Redis支持List数据,而且可以很方便的插入和移出,比如:rq库就是基于Redis实现的