开发者学堂课程【云数据库 Redis 版使用教程:Redis总体介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/434/detail/5400
Redis 总体介绍
内容介绍:
一、Redis 特性
二、Redis 常见架构
三、Redis 数据类型
四、Redis 应用场景
一、Redis特性
1.Redis 的全称是(REmoteDIctionaryServer),开源内存数据库
2.超高性能,单个 Redis 如果 CPU 足够好的话在不开启ppd的情况下也可以达到十万十五甚至万的 qps
3.提供内存的持久化:RDB(备份)、AOF(保持数据可靠性,可以保持更新更加接近)(持久化机制是对应于不同的应用场景的)
4.主备复制(区别于其他的作为缓存的内存存储的db,两个Redis 之间可以做数据的同步)
5.丰富的数据结构(例如:集合、list 列表)
6.Lua 脚本、事务(特意化功能,是自定义的脚本实现更丰富的功能)
二、Redis 常见架构
1、单机会有单节点的架构,只用一个单独的 Redis 不会做主备的复制。
1.主要作为缓存的场景,单个节点基本不受影响,可能防务会有一定的延迟,重新将数据充上就可以了;
2.对数据的可溶性有比较高的要求,可以增加一个主从的架构,但是性能和数据支撑局限于单个节点,如果要追求更高的性能,则需要一个集群的架构。
2、(集群架构在官方出现较晚,在2015年年初才会出现正式的左边的结构图,既实现基本储存功能,也实现了切换的功能,同时还实现了数据迁移的功能。老的集群需要申请客户端,做请求路由。右图实现路由会有单独的切换功能。两者各有优点。
三、Redis 数据类型
Redis 提供的数据类型是十分丰富的,例如:
1、String
2、List(列表)
3、Hash(可包含不同的kv)
4、Set(集合,无序的)
5、Zset(有序的)
6、常见 Bitmap(减少许多内存空间)、HyperLogLog(场景专一,用于基数的统计)、GEO(地理信息数据结构,满足用户提供的需求)
四、Redis 应用场景
1、Redis 应用场景--游戏
1.排行榜,zset
2.计数,string
3.好友关系,hash
2、Redis 应用场景--社交(主要看新浪微博)
1.Reversecache(反cache),string(短链接)
2.Top10list(热门事件)
3.Fasttranscationwithlua
4.用户访问记录,list(保存用户的信息)
3、Redis应用场景--民生
1.抢红包
2.List(用户抢到红包会用list来排队),lua(保持抢红包的事
务性工作),string(保存红包信息)
3.此链接有许多事例的文章