• string
  • hash
  • list
  • set
  • sorted set

string

这是最简单的类型,就是普通的 set 和 get,做简单的 KV 缓存。

hash

这个是类似 map 的一种结构,这个一般就是可以将结构化的数据,比如一个对象(前提是这个对象没嵌套其他的对象)给缓存在 redis 里,然后每次读写缓存的时候,可以就操作 hash 里的某个字段。

list

list 是有序列表,这个可以玩儿出很多花样。

比如可以通过 list 存储一些列表型的数据结构,类似粉丝列表、文章的评论列表之类的东西。

比如可以通过 lrange 命令,读取某个闭区间内的元素,可以基于 list 实现分页查询,这个是很棒的一个功能,基于 redis 实现简单的高性能分页,可以做类似微博那种下拉不断分页的东西,性能高,就一页一页走。

# 0开始位置,-1结束位置,结束位置为-1时,表示列表的最后一个位置,即查看所有。
lrange mylist 0 -1

比如可以搞个简单的消息队列,从 list 头怼进去,从 list 尾巴那里弄出来。

lpush mylist 1
lpush mylist 2
lpush mylist 3 4 5# 1
rpop mylist

set

set 是无序集合,自动去重。

直接基于 set 将系统里需要去重的数据扔进去,自动就给去重了,如果你需要对一些数据进行快速的全局去重,你当然也可以基于 jvm 内存里的 HashSet 进行去重,但是如果你的某个系统部署在多台机器上呢?得基于 redis 进行全局的 set 去重。

可以基于 set 玩儿交集、并集、差集的操作,比如交集吧,可以把两个人的粉丝列表整一个交集,看看俩人的共同好友是谁?对吧。

把两个大 V 的粉丝都放在两个 set 中,对两个 set 做交集。

#-------操作一个set-------
# 添加元素
sadd mySet 1# 查看全部元素
smembers mySet# 判断是否包含某个值
sismember mySet 3# 删除某个/些元素
srem mySet 1
srem mySet 2 4# 查看元素个数
scard mySet# 随机删除一个元素
spop mySet#-------操作多个set-------
# 将一个set的元素移动到另外一个set
smove yourSet mySet 2# 求两set的交集
sinter yourSet mySet# 求两set的并集
sunion yourSet mySet# 求在yourSet中而不在mySet中的元素
sdiff yourSet mySet

sorted set

sorted set 是排序的 set,去重但可以排序,写进去的时候给一个分数,自动根据分数排序。

zadd board 85 zhangsan
zadd board 72 lisi
zadd board 96 wangwu
zadd board 63 zhaoliu# 获取排名前三的用户(默认是升序,所以需要 rev 改为降序)
zrevrange board 0 3# 获取某用户的排名
zrank board zhaoliu

redis有几种数据类型相关推荐

  1. Redis的6种数据类型

    Redis 是一种基于内存的数据库,并且提供一定的持久化功能,它是一种键值(key-value)数据库,使用 key 作为索引找到当前缓存的数据,并且返回给程序调用者. 当前的 Redis 支持 6 ...

  2. Redis: Redis支持五种数据类型

    ylbtech-Redis: Redis支持五种数据类型 Redis支持五种数据类型:string(字符串) ,hash(哈希),list(列表),set(集合)及zset(sorted set:有序 ...

  3. Redis的5种数据类型与编码结构分析

    一.概述 Redis作为一个分布式缓存实现,相对于Memecache,除了支持持久化之外,一个重要的特性是Redis支持丰富的数据类型,即Memecache只支持字符串类型,所有键值对都是字符串类型, ...

  4. 【Redis】五种数据类型

    五种数据类型 string类型 list类型 set类型 hash类型 sortset String 添加/修改数据 set key value 获取数据 get key 删除数据 del key 批 ...

  5. 【redis-02】redis的五种数据类型和对应的操作方法,补充RedisUtil模板

    [redis-02]redis的五种数据类型和对应的操作方法,补充RedisUtil模板 [一]redis的五种数据类型 [二]String:字符串常用命令 (1)String基本信息 (2)Stri ...

  6. StackExchange.Redis学习笔记(二) Redis查询 五种数据类型的应用

    StackExchange.Redis学习笔记(二) Redis查询 五种数据类型的应用 原文: StackExchange.Redis学习笔记(二) Redis查询 五种数据类型的应用 Connec ...

  7. redis的5种数据类型

    1.redis的5种数据类型: string 字符串(可以为整形.浮点型和字符串,统称为元素) list 列表(实现队列,元素不唯一,先入先出原则) set 集合(各不相同的元素) hash hash ...

  8. Redis的9种数据类型

    在具体描述这几种数据类型之前,我们先通过一张图了解下 Redis 内部内存管理中是如何描述这些不同数据类型的: 首先Redis内部使用一个redisObject对象来表示所有的key和value,re ...

  9. Redis的五种数据类型及应用场景

    1,数据类型 String(字符串,整数,浮点数):做简单的键值对缓存 List(列表):储存一些列表类型的数据结构 Set(无序集合):交集,并集,差集的操作 Hash(包含键值对的无序散列表):结 ...

  10. redis的5种数据类型介绍

    https://baijiahao.baidu.com/s?id=1706976357418527894 Redis五种数据类型分别是string(字符串),hash(哈希),list(列表),set ...

最新文章

  1. (详细全面)softmax和log_softmax的联系和区别,NLLLOSS和CrossEntropyLoss的联系和区别
  2. 存储过程IN参数疑难问题解决方法【真正解决】
  3. git 删除本地仓库中的分支_本地 Git 仓库与 GitHub 关联
  4. markdownpad2 html渲染组件出错_「万字长文」一文吃透React SSR服务端同构渲染
  5. Qt编译报 undefined vtable问题
  6. 求绝对值 c鱼眼_初一上学期,绝对值的相关计算,提优篇
  7. 信息学奥赛一本通(1308:【例1.5】高精除)
  8. JAVA设计模式之【外观模式】
  9. Python抓取豆瓣电影详情并提取信息
  10. 你还在用虚拟机,win10自带的linux还有图形界面(小白教程)
  11. java imap收邮件_android pop3与imap方式接收邮件(javamail)
  12. 数据库索引系列四:索引算法Hash与BTree的区别
  13. 数据分析和数据开发的区别
  14. python 网格搜索_网格搜索查找AUC参数
  15. Excel下拉框多选(支持再次选择已选项会取消选择)
  16. 谷哥学术2022年2月资源分享下载列表 15/20
  17. JavaWeb实用项目之----化妆品销售网
  18. bootstrap 表头组合
  19. 第十七届智能视觉组线上赛比赛流程及相关补充说明
  20. 决策模型(二):风险决策法

热门文章

  1. iMeta | 宏基因组生物信息期刊-创刊背景和简介
  2. NC:电缆细菌减少水稻种植土壤中的甲烷排放
  3. Cell综述:口腔微生物群的部位特点:微米级生境与生态位
  4. 微生物组-扩增子16S分析研讨会(2020.1)
  5. QIIME 2教程. 12数据筛选Filtering data(2020.11)
  6. R语言pmax函数和pmin函数按位计算向量最大值、最小值实战
  7. Error in bl_make_text_box(token, drawing_context$gp, drawing_context$yoff_pt) : function ‘Rcpp_preci
  8. 机器学习数据预处理之缺失值:插值法填充+多项式插值
  9. 基于变分自动编码器(Variational Autoencoders)疾病预测系统实战:(Keras实现并可视化训练和验证误差、最后给出topK准确率和召回率)
  10. 核磁共振影像数据处理-1(下)-DWI基础、Li‘s have a solution and plan.