redis背景介绍
① Redis 是 Remote Dictionary Service 的简称;也是远程字典服务。
② Redis 是内存数据库,KV 数据库,数据结构数据库。
③ Redis 应用非常广泛,如 Twitter、暴雪娱乐、Github、Stack、Overflow、腾讯、阿里巴巴、京东、华为、新浪微博等,很多中小型公司也在使用。
④ Redis 命令查看:http://redis.cn/commands.html
redid的应用场景
记录朋友圈点赞数、评论数和点击数(hash)
记录朋友圈说说列表(排序),便于快速显示朋友圈(list)
记录文章的标题、摘要、作者和封面,用于列表页展示(hash)
记录朋友圈的点赞用户ID列表(list),评论ID列表(list),用于显示和去重计数(zset)
缓存热点数据,减少数据库压力(hash)
如果朋友圈说说 ID 是整数 id,可使用 redis 来分配朋友圈说说id(计数器)(string)
通过集合(set)的交并差集运算来实现记录好友关系(set)
游戏业务中,每局战绩存储(list)
redis高效的原因
① redis的基础结构是一张全局的哈希表,所有的key都存储在这一张全局的哈希表中。所以,对于redis的增删查改是非常快的,是趋近于O(1)的操作,这是redis高效的原因之一。
② redis高效的另一个原因,是redis是纯内存的数据库,对于数据,所有的增删查改都是基于内存的操作。
③ redis高效的网络模型,redis内部采用epoll实现的reactor作为网络模型。
④ redis高效的数据结构的设计,针对于不同的业务场景可选择不同的数据结构进行实现。
⑤ redis高效的持久化方式,redis进行RDB持久化时,单独开一个进程去负责持久化。并不需要堵塞父进程命令执行。