1. redis是什么
redis是一个高性能的key-value数据库,它是完全免费开源的。是为了解决高并发、高扩展、大数据存储等一系列的问题而产生的数据库解决方案,是一个非关系型的数据库。它支持的数据结构类型包括字符串(String)、链表(lists)、哈希表(hash)、集合(set)、有序集合(Zset)等。为了保证读取的效率,redis把数据对象存储在内存当中,它可以支持周期性的把更新的数据写入磁盘文件中。
2. redis的优点和特点
- redis数据读写速度非常快,因为它把数据都读取到内存当中操作,支持数据持久化到磁盘当中。redis用C语言编写的,所以执行速度相对较快。
- redis提供了丰富的数据结构
- redis支持主从复制,主机会自动将数据同步到从机,可以进行读写分离。
- 功能丰富、服务器简单、客户端语言多、支持持久化
3. redis能够做什么和不能做什么
redis能做什么:
- 缓存
- 排行榜 (list/Zset)
- 计时器或限速器 (统计播放数据/浏览量/在线人数等)
- 好友关系 (点赞/共同好友)
- 简单的消息队列 (订阅发布/阻塞队列)
- Session服务器
redis不能做什么:
- 数据量太大不适合
- 数据访问频率太低不适合
4. redis应用场景
1、redis由于数据的读取和操作都在内存当中操作,读写的效率较高,所以经常被用来做数据的缓存。把一些需要频繁访问的数据,而且在短时间之内不会发生变化的,放入redis中进行操作。从而提高用户的请求速度和降低网站的负载,降低数据库的读写次数,就把这些数据放到缓存中。
2、一些常用的实时计算的功能。需要实时变化和展示的功能,就可以把相关数据放在redis中进行操作。大大提高效率。
3、消息队列,经常用来构建类似实时聊天系统的功能,大大提高应用的可用性。