redis妙用-应用场景
时间:2022-07-27
本文章向大家介绍redis妙用-应用场景,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
分布式环境中,redis作为必不可少的中间件,我们都常有用到,但是我们大多数人基本都没有系统学习过,只是跟着潮流把redis当作一个缓存来用,或者用它来实现分布式锁、分布式自增键。而本章内容还继续讲这些就没有任何意义,因为这些东西都已经讲烂了,百度的资料都一大堆。本章我们回归初心,整理redis几种数据类型,以及列举应用场景。你会重新认识到redis的强大,而不是仅次于缓存。
先总结现在redis支持的几种数据类型,在开发中,相信都已经用过了string, set, list, zset, hash,这些数据结构。但是在官网中还有找到其他的一些数据结构,如hyperloglogs, geospatial,以及在5.0后出了一个streams,在这个数据结构出来之后,基本上redis的重心在往一个消息中间件偏移,所以你把redis当作一个缓存,是非常片面的。
本章对redis的几大基本类型进行罗列,以及各自应用场景,后来发现篇幅实在太大,得以拆分,大家可根据自身进行查略。
string
回顾string经典场景,以及对这些场景延申的一些思考。点击查看
1. 缓存(如何设计缓存存储,使用spring cache另当别论)
2. 分布式锁(锁续期)
3. 计数器
4. 分布式全局序列(减少IO交互提高效率)
hash
试图揣测redis官方推出hash的意义,以及实现原理。点击查看
list
1. 基于list实现消息队列
2. 新浪/twitter用户消息列表
set
1. 抽奖活动
2. 点赞、签到
3. 好友关注模型
4. 电商商品筛选
5. 大数据量对账
zset
1. 统计运算
2. 热点新闻排行榜
总结
在本章中,其实所回顾的都是基础,没有过深的技术难点,但是它却解决了,互联网中比较难实现的场景。例如新浪消息列表、抽奖、好友关注模型、大数据对账、大数据排序等...这些功能在不依赖redis的时候,实现起来有多困难。而这些都是redis的基础知识。
其实我只是想说,回归初心脚踏实地巩固基础真的很重要。
- 细数Python中的数据类型以及他们的方法
- 洛谷 P3807 【模板】卢卡斯定理
- 数据城堡参赛代码实战篇(六)---使用sklearn进行数据标准化及参数寻优
- 震惊!Vector两行代码求逆序对,六行代码过普通平衡树
- 数据城堡参赛代码实战篇(五)---使用sklearn解决分类问题
- 洛谷P1894 [USACO4.2]完美的牛栏The Perfect Stall
- [编程经验]Python生成器、迭代器与yield语句小结
- TensorFlow从0到1 - 12 - TensorFlow构建3层NN玩转MNIST
- 数据城堡参赛代码实战篇(四)---使用pandas合并数据表
- HDU 2586 How far away ?
- HDU 3078 Network
- 数据城堡参赛代码实战篇(三)---我们来探究一个深奥的问题!
- 数据城堡参赛代码实战篇(二)---使用pandas进行数据去重
- 洛谷P3375 【模板】KMP字符串匹配
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- keras训练浅层卷积网络并保存和加载模型实例
- Python分析最近大火的网剧《隐秘的角落》
- PHP使用PDO操作sqlite数据库应用案例
- 一次因composer错误使用引发的问题与解决
- PHP生成二维码与识别二维码的方法详解【附源码下载】
- 详解PHP多个进程配合redis的有序集合实现大文件去重
- 原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
- php ajax confirm 删除实例详解
- PHP模糊查询技术实例分析【附源码下载】
- 解决keras,val_categorical_accuracy:,0.0000e+00问题
- 导致python中import错误的原因是什么
- Python RabbitMQ实现简单的进程间通信示例
- PHP删除数组中特定元素的两种方法
- 如何写出让同事无法维护的代码?
- 浅谈php://filter的妙用