一、什么是redis、redis有哪些特性、redis有哪些应用场景、redis的版本
1. 什么是redis
redis是一种基于键值对(key-value)数据库,其中value可以为string、hash、list、set、zset等多种数据结构,可以满足很多应用场景。还提供了键过期,发布订阅,事务,流水线,等附加功能,
流水线: Redis 的流水线功能允许客户端一次将多个命令请求发送给服务器, 并将被执行的多个命令请求的结果在一个命令回复中全部返回给客户端, 使用这个功能可以有效地减少客户端在执行多个命令时需要与服务器进行通信的次数。
2. redis有哪些特性
1〉速度快,数据放在内存中,官方给出的读写性能10万/S,与机器性能也有关
a. 数据放内存中是速度快的主要原因
b. C语言实现,与操作系统距离近
c. 使用了单线程架构,预防多线程可能产生的竞争问题
2〉键值对的数据结构服务器
3〉丰富的功能:键过期,发布订阅,事务,流水线.....
4〉简单稳定:单线程
5〉持久化:发生断电或机器故障,数据可能会丢失,持久化到硬盘
6〉主从复制:实现多个相同数据的redis副本
7〉高可用和分布式:哨兵机制实现高可用,保证redis节点故障发现和自动转移
8〉客户端语言多:java php python c c++ nodejs等
3. redis有哪些应用场景
1. 缓存:合理使用缓存加快数据访问速度,降低后端数据源压力
2. 排行榜:按照热度排名,按照发布时间排行,主要用到列表和有序集合
3. 计数器应用:视频网站播放数,网站浏览数,使用redis计数
4. 社交网络:赞、踩、粉丝、下拉刷新
5. 消息队列:发布和订阅
4.redis的版本
版本号第二位为奇数,为非稳定版本(2.7、2.9、3.1)
第二为偶数,为稳定版本(2.6、2.8、3.0)
当前奇数版本是下一个稳定版本的开发版本,如2.9是3.0的开发版本