
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,软件编程开发行业也越来越垂直细分化,许多软件开发程序员之间的技术内容也有了明显的区别,而本文我们就通过案例分析来简单了解一下,Redis数据库实践常用技术分析。
缓存
对于热点数据,缓存以后可能读取数十万次,因此,对于热点数据,缓存的价值非常大。例如,分类栏目更新频率不高,但是绝大多数的页面都需要访问这个数据,因此读取频率相当高,可以考虑基于Redis实现缓存。
会话缓存
此外,还可以考虑使用Redis进行会话缓存。例如,将websession存放在Redis中。
时效性
例如验证码只有60秒有效期,超过时间无法使用,或者基于Oauth2的Token只能在5分钟内使用一次,超过时间也无法使用。
访问频率
出于减轻服务器的压力或防止恶意的洪水攻击的考虑,需要控制访问频率,例如限制IP在一段时间的大访问量。
计数器
数据统计的需求非常普遍,通过原子递增保持计数。例如,应用数、资源数、点赞数、收藏数、分享数等。
社交列表
社交属性相关的列表信息,例如,用户点赞列表、用户分享列表、用户收藏列表、用户关注列表、用户粉丝列表等,使用Hash类型数据结构是个不错的选择。
记录用户判定信息
记录用户判定信息的需求也非常普遍,可以知道一个用户是否进行了某个操作。例如,用户是否点赞、用户是否收藏、用户是否分享等。
交集、并集和差集
在某些场景中,例如社交场景,通过交集、并集和差集运算,可以非常方便地实现共同好友,共同关注,共同偏好等社交关系。
热门列表与排行榜
按照得分进行排序,例如,展示热、点击率高、活跃度高等条件的排名列表。
新动态
按照时间顺序排列的新动态,也是一个很好的应用,可以使用SortedSet类型的分数权重存储Unix时间戳进行排序。
消息队列
Redis能作为一个很好的消息队列来使用,依赖List类型利用LPUSH命令将数据添加到链表头部,通过BRPOP命令将元素从链表尾部取出。同时,市面上成熟的消息队列产品有很多,例如RabbitMQ。因此,更加建议使用RabbitMQ作为消息中间件。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。