关于redis的几件小事(三)redis的数据类型与使用场景
1.string
这是最基本的类型了,就是普通的set和get,做简单的kv缓存。
2.hash
这个是类似map的一种结构,这个一般就是可以将结构化的数据,比如一个对象(前提是这个对象没嵌套其他的对象)给缓存在redis里,然后每次读写缓存的时候,可以就操作hash里的某个字段。
key=150value={“id”: 150,“name”: “zhangsan”,“age”: 20
}
复制代码
hash类的数据结构,主要是用来存放一些对象,把一些简单的对象给缓存起来,后续操作的时候,你可以直接仅仅修改这个对象中的某个字段的值
value={“id”: 150,“name”: “zhangsan”,“age”: 21
}
复制代码
3.list
有序列表,这个是可以做很多不同操作的
比如:微博,某个大v的粉丝,就可以以list的格式放在redis里去缓存
key=某大vvalue=[zhangsan, lisi, wangwu]
复制代码
比如:可以通过list存储一些列表型的数据结构,类似粉丝列表了、文章的评论列表了之类的东西
比如:可以通过lrange命令,就是从某个元素开始读取多少个元素,可以基于list实现分页查询,这个很棒的一个功能,基于redis实现简单的高性能分页,可以做类似微博那种下拉不断分页的东西,性能高,就一页一页走
比如:可以搞个简单的消息队列,从list头怼进去,从list尾巴那里弄出来
4.set
无序集合,自动去重
直接基于set将系统里需要去重的数据扔进去,自动就给去重了,如果你需要对一些数据进行快速的全局去重,你当然也可以基于jvm内存里的HashSet进行去重,但是如果你的某个系统部署在多台机器上呢?
得基于redis进行全局的set去重
可以基于set玩儿交集、并集、差集的操作,比如交集吧,可以把两个人的粉丝列表整一个交集,看看俩人的共同好友是谁?对吧
把两个大v的粉丝都放在两个set中,对两个set做交集
5.sorted set
排序的set,去重但是可以排序,写进去的时候给一个分数,自动根据分数排序,这个可以玩儿很多的花样,最大的特点是有个分数可以自定义排序规则
比如说你要是想根据时间对数据排序,那么可以写入进去的时候用某个时间作为分数,人家自动给你按照时间排序了
排行榜:将每个用户以及其对应的什么分数写入进去,zadd board score username,接着zrevrange board 0 99,就可以获取排名前100的用户;zrank board username,可以看到用户在排行榜里的排名
zadd board 85 zhangsan
zadd board 72 wangwu
zadd board 96 lisi
zadd board 62 zhaoliu96 lisi
85 zhangsan
72 wangwu
62 zhaoliuzrevrange board 0 3获取排名前3的用户96 lisi
85 zhangsan
72 wangwuzrank board zhaoliu4
复制代码
关于redis的几件小事(三)redis的数据类型与使用场景相关推荐
- 关于redis的几件小事(一)redis的使用目的与问题
1.redis是用来干嘛的? Redis is an open source (BSD licensed), in-memory data structure store, used as a dat ...
- redis 中一个字段 修改map_Redis 几种数据类型及应用场景
Redis支持5种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合).何时使用Redis呢? 先通过一张图了解下Redis ...
- Redis 数据类型及应用场景
一. redis 特点 所有数据存储在内存中,高速读写 提供丰富多样的数据类型:string. hash. set. sorted set.bitmap.hyperloglog 提供了 AOF 和 R ...
- 《三天给你聊清楚redis》第2天看看redis怎么被搞出来的(22036字)
后端需要知道的关于redis的事,基本都在这里了. 此文后续会改为粉丝可见,所以喜欢的请提前关注. 你的点赞和评论是我创作的最大动力,谢谢. 3.单机实现 3.1.数据库概述 redis服务器将所有数 ...
- [ 搭建Redis本地服务器实践系列三 ] :图解Redis客户端工具连接Redis服务器
原文:[ 搭建Redis本地服务器实践系列三 ] :图解Redis客户端工具连接Redis服务器 上一章 [ 搭建Redis本地服务器实践系列二 ] :图解CentOS7配置Redis 介绍了Red ...
- 深入剖析Redis系列(三) - Redis集群模式搭建与原理详解
前言 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态.Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 ...
- Redis三种特殊数据类型
Redis三种特殊数据类型 geospatial 地理位置 朋友的定位, 附近的人, 打车的距离计算 Redis的Geo在Redis3.2版本就推出了.这个功能可以推算地理位置信息, 两地之间的距离, ...
- redis源码剖析(三)——基础数据结构
文章目录 SDS 链表 字典 这篇文章关于 Redis 的基础数据: SDS SDS (Simple Dynamic String)是 Redis 最基础的数据结构.直译过来就是"简单的动态 ...
- redis 三种特殊数据类型
三种特性数据类型 geospatial 定位,附近的人,打车距离计算. redis的geo在redis3.2版本就推出了.可推算地理位置的信息,两地之间的距离,方圆几里的人. 6个命令. GEOADD ...
最新文章
- Android studio 启动自学模式
- python 3d绘图平面_python 用 matplotlib 在 3D 空间中绘制平面 实例详解
- 在VHD文件上安装Windows 7或Windows 2008 R2
- 这十大挑战,摆在DL面前:马库斯长文质疑深度学习
- android textview 关键字高亮显示
- PostgreSQL在何处处理 sql查询之五十三
- php 登录 post,PHP curl post登录到wordpress
- 判定三角形程序c语言,c语言判定三角形的各种类型——请大家指点
- 图片压缩工具(网页优化)
- FMEA-MSR 步骤四:失效分析
- TC软件概要设计文档(手机群控)
- web浏览器显示网站小图标
- win10 U盘无法识别修复方法
- ZAO作一下,你会是谁
- Excel将两个图片合并为一张
- 国内数字藏品交易平台开发市场会开放二级市场吗
- LTE连接态读取系统消息SIB24疑问
- 解决vim与外界的复制粘贴(不用安装插件)
- 对比测评3款BI分析⼯具,还是它最香!
- PHP AES 加密解密实现