redis学习记录(三)-redis中的数据结构
来源:互联网 发布:c语言的符号函数 编辑:程序博客网 时间:2024/05/16 03:13
redis学习记录(三)-redis中的数据结构
标签(空格分隔): redis
个人独立博客:http://mrdear.cn
Redis学习记录(一)–入门知识
Redis学习记录(二)–使用Jedis连接
redis有五种数据类型,string,list,set,hash,sort set,不同场景使用不同数据结构的前提是了解每一种数据结构.那么结构图片是最佳的了解方式,图片来自慕课网.
string
string是的key->value类型的存储,可以存储字符串类型和数值类型,可对数值类型是可以增加减少,对string类型可以追加内容.
list
list是列表,也就是一个key->多个value,可以支持双端队列,栈来操作,因此越靠近两端其查找速度越快,端点的复杂度查找为O(1),同时队列有阻塞操作,也就是可以当成阻塞队列使用.
set
set为无序,且不重复的集合,且提供O(1)复杂度度的快速查找.set集合支持集合的并,交,差操作,因为无序性,因此也提供迭代方法.
hash
hash类型适合存储对象,相比前面的string,所带来的优势是可以使用一个key查出该下面所有的键值对,并且可以单独对某一属性更改,如图所示:
sort set
可排序的集合,如图所示存在score排名分数,隐藏属性rank排名,0为最小.注意对sort set来说value是唯一性的,而不是score,如果两个score相同,则按照value的字典序排序.
应用场景
string
计数器:redis的incr操作是原子性的,因此可以应对高并发,如网站要求每个用户获取验证码后60秒内不得再次获取,那么第一次获取的时候用incr给该用户设置key,过期时间为60秒,如果结果等于1则为第一次请求,那么第二次获取时比较决定是否操作频繁.
List
list的优势的有序性,两端插入复杂度为O(1),那么对于最近文章列表等类似需求是最佳解决方案,维护一个定长的列表,每次插入后执行trim操作.
Set
set的优势是唯一性,O(1)的查找查找复杂度,并且支持差并集,那么二度好友问题就迎刃而解了.
hash
hash非常适合存储对象,不同的键为对象的特征,值为特征值,那么比string好的就是修改不需要每次都修改一个整串,而可以选择修改某一指定键值.
sort set
sort set可排序特性使其很容易解决排行榜类应用,但是要注意值需要存储不变的属性,因为值要求唯一性,score可不唯一.
- redis学习记录(三)-redis中的数据结构
- Redis学习(三)Redis的数据结构
- Redis学习记录之下载安装(三)
- Redis学习记录之配置文件(三)
- Redis中的数据结构
- Redis系列(三)Redis数据结构
- Redis学习-数据结构
- 学习笔记:Redis数据结构
- redis学习记录
- REDIS 学习网页记录
- redis 学习记录
- redis学习记录
- redis学习记录
- Redis系列----(二)redis中的数据结构类型
- redis(三)主要数据结构
- redis学习笔记(三)
- Redis 学习笔记三
- redis学习笔记三
- POJ NOI MATH-7648 蓄水池水管问题
- 112. Path Sum
- AGC007 E
- 高德地图 公交站点查询
- 微信二次开发 新浪云应用SAE Token验证失败
- redis学习记录(三)-redis中的数据结构
- StrangeIoc MVCS游戏框架
- 浅谈WebLogic和Tomcat区别
- 一张图看明白云计算架构核心竞争力
- 解决 Successfully created project '' on GitHub, but initial push failed: Could not read from remote re
- laravel 环境搭建
- 算法题
- 【Java】计蒜客 模拟5 方程的解
- 最长公共子序列