1.redis 的数据类型

  • String 字符串
  • Hash 哈希
  • List 列表
  • Set 集合
  • ZSet(Sorted Set) 有序集合

2.使用场景

2.1 String

  • 用户token

    可以用redis来记录用户token并设置过期时间

    小龙测试:0>set 1001 tokenslkdjflksdjflkdsj ex 600
    "OK"
    小龙测试:0>get 1001
    "tokenslkdjflksdjflkdsj"
    小龙测试:0>TTL 1001
    "592"
  • 主键记录

    分布式的服务可以通过redis来记录主键的最大值

    小龙测试:0>set t_user 1
    "OK" 小龙测试:0>incrby t_user 1
    "2" 小龙测试:0>incrby t_user 1
    "3" 小龙测试:0>get t_user
    "3"
  • ip访问

    可以通过redis记录ip访问次数进行黑名单的限制


    小龙测试:0>set 127.0.0.1 1 ex 600
    "OK" 小龙测试:0>incrby 127.0.0.1 1
    "2" 小龙测试:0>ttl 127.0.0.1
    "556" 小龙测试:0>get 127.0.0.1
    "2"

2.2 Hash

  • 用户信息等对象的存储

    小龙测试:0>HSET zhucw name "zhuchunwang"
    "1" 小龙测试:0>HSET zhucw age "30"
    "0" 小龙测试:0>HSET zhucw id "100"
    "1" 小龙测试:0>HGET zhucw
    "ERR wrong number of arguments for 'hget' command" 小龙测试:0>HGET zhucw id
    "100" 小龙测试:0>HGETALL zhucw
    1) "age"
    2) "30"
    3) "name"
    4) "zhuchunwang"
    5) "id"
    6) "100"

2.3 List

  • 消息队列 & 电商秒杀

    # 从左侧往mq中放入元素
    小龙测试:0>lpush mq message1
    "1"
    小龙测试:0>lpush mq message2
    "2"
    # 从右侧往mq中放入消息
    小龙测试:0>rpush mq 小龙测试:0>message3
    "3"
    # 查看mq长度
    小龙测试:0>llen mq
    "3"
    # 查看mq从第一个到最后一个(所有元素)
    小龙测试:0>lrange mq 0 -1
    1) "message2"
    2) "message1"
    3) "message3"
    # 查看mq从第一个到第二个
    小龙测试:0>lrange mq 0 1
    1) "message2"
    2) "message1"
    小龙测试:0>lrange mq 1 2
    1) "message1"
    2) "message3"
    # 从左边截取一个
    小龙测试:0>ltrim mq 0 1
    "OK"
    小龙测试:0>lrange mq 0 -1
    1) "message2"
    2) "message1"
    小龙测试:0>lpush mq message4
    "3"
    小龙测试:0>lrange mq 0 -1
    1) "message4"
    2) "message2"
    3) "message1"
    # 从左边取出一个
    小龙测试:0>lpop mq
    "message4"
    小龙测试:0>lrange mq 0 -1
    1) "message2"
    2) "message1"
    # 从左边添加两个 message 和 5
    小龙测试:0>lpush mq message 5
    "4"
    # 从右边取走一个
    小龙测试:0>rpop message
    null
    小龙测试:0>rpop mq
    "message1"
    小龙测试:0>lrange mq 0 -1
    1) "5"
    2) "message"
    3) "message2"

2.4 SET

  • 好友集合

    # 新增元素
    小龙测试:0>SADD zcw aaa
    "1"
    小龙测试:0>SADD zcw bbb
    "1"
    小龙测试:0>SADD zcw ccc
    "1"
    小龙测试:0>SADD zcw ccc
    "0"
    # 查看元素
    小龙测试:0>smembers zcw
    1) "aaa"
    2) "ccc"
    3) "bbb"
    小龙测试:0>SADD xm aaa
    "1"
    小龙测试:0>SADD xm ddd
    "1"
    小龙测试:0>SADD xm ddd
    "0"
    小龙测试:0>smembers xm
    1) "ddd"
    2) "aaa"
    # 以zcw为基准,xm中没有的
    小龙测试:0>sdiff zcw xm
    1) "ccc"
    2) "bbb"
    # zcw 和 xm的交际
    小龙测试:0>sinter zcw xm
    1) "aaa"

2.5 ZSET

  • 电商排序、热搜等

    # 新增元素
    小龙测试:0>ZADD phone 100 huawei
    "1" 小龙测试:0>ZADD phone 90 xiaomi
    "1" 小龙测试:0>ZADD phone 110 apple
    "1" 小龙测试:0>ZADD phone 80 vivo
    "1" # 查看元素 从小到大
    小龙测试:0>ZRANGE phone 0 10 WITHSCORES
    1) "vivo"
    2) "80"
    3) "xiaomi"
    4) "90"
    5) "huawei"
    6) "100"
    7) "apple"
    8) "110"小龙测试:0>
    # 查看元素 分值从大到小
    小龙测试:0>Zrevrange phone 0 10 withscores
    1) "apple"
    2) "110"
    3) "huawei"
    4) "100"
    5) "xiaomi"
    6) "90"
    7) "vivo"
    8) "80"

Redis的数据类型及使用场景的更多相关文章

  1. Redis各种数据类型的应用场景

    redis是一种key values形式的非关系型数据库,通过内存存储,也可以把数据持久化到本地文件中. redis支持丰富的数据类型,String,list,set,zset,hash,下面说一下各 ...

  2. Redis各种数据类型的使用场景

    Redis的六种特性 l Strings l Hashs l Lists l Sets l Sorted Sets l Pub/Sub Redis各特性的应用场景 Strings Strings 数据 ...

  3. 一文搞定Redis五大数据类型及应用场景

    本文学习知识点 redis五大数据类型数据类型:string.hash.list.set.sorted_set 五大类型各自的应用场景 @TOC 1. string类型 1-1 string类型数据的 ...

  4. Redis各个数据类型的使用场景

    Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). Redis列表命令 参考:http://www.r ...

  5. redis的数据类型与应用场景(二)

    1. 如何学习 redis有好多数据类型,有这么多数据类型,我们不可能每个都记得完完全全.但是我们必须知道它有哪些数据类型,每个数据类型是怎样的,有什么作用.redis的每一个数据类型都有一大堆命令, ...

  6. Redis系列之----Redis的数据类型及使用场景

       Redis是一个开源的.高性能的.基于键值对的缓存与存储系统,能够提供多种不同的键值数据类型来适应不同场景下的缓存和存储需求.    Redis中所有的数据都存储在内存中,因此读写速度非常快,相 ...

  7. Redis常用数据类型及使用场景

    Redis最为常用的数据类型 字符串(String) 字符串列表(list) 字符串集合(set) 哈希(hash) 有序的字符串集合(sorted set) String(字符串) 字符串是最基本的 ...

  8. Redis的数据类型以及应用场景

    1. Redis的作用 1.1 Redis可以做什么 1.缓存:缓存机制几乎在所有的大型网站都有使用,合理地使用缓存不仅可以加快数据的访问速度,而且能够有效地降低后端数据源的压力.Redis提供了键值 ...

  9. Redis多种数据类型以及使用场景

    SDS简单动态字符串 struct sdshdr { // 记录buf数组中已使用字节的数量 // 等于SDS所保存字符串的长度 int len; // 记录buf数组中未使用字节的数量 int fr ...

随机推荐

  1. Bug -- WebService报错(两个类具有相同的 XML 类型名称 "{http://webService.com/}getPriceResponse"。请使用 @XmlType.name 和 @XmlType.namespace 为类分配不同的名称。)

    调用WebService时报错 解决方法: 在提示的两个java文件中加如一行代码namespace = "http://namespace.thats.not.the.same.as.th ...

  2. SpringBoot2 整合MinIO中间件,实现文件便捷管理

    本文源码:GitHub·点这里 || GitEE·点这里 一.MinIO简介 1.基础描述 MinIO是一个开源的对象存储服务.适合于存储大容量非结构化的数据,例如图片.视频.日志文件.备份数据和容器 ...

  3. dp最长不下降序列

    // // Created by snnnow on 2020/4/13. // //这是dp 问题的基础题 // //最长不下降 //(导弹拦截是其例题) //那这篇文章是讲啥呢, // 主要是吧, ...

  4. 社交网站的数据挖掘与分析pdf版本|网盘下载地址附提取码|

    点击此处进入网盘下载地址 提取码:btqx 作者介绍: 马修·罗塞尔(MatthewA.Russell),DigitalReasoningSystems公司的技术副总裁和Zaffra公司的负责人,是热 ...

  5. FPGA内部IP核DDS

    项目当中需要正弦信号与余弦信号,首先想到了DDS芯片,例如AD9833.AD9834.由于还需要用FPGA   做一些数据处理,后来干脆直接用FPGA 内部的DDSIP核,同时根据IP核内部的相位累加 ...

  6. Python os.mkdir() 方法

    概述 os.mkdir() 方法用于以数字权限模式创建目录.默认的模式为 0777 (八进制).高佣联盟 www.cgewang.com 语法 mkdir()方法语法格式如下: os.mkdir(pa ...

  7. luogu P4525 自适应辛普森法1

    LINK:自适应辛普森法1 观察题目 这个东西 凭借我们的数学知识应该是化简不了的. 可以直接认为是一个函数 求定积分直接使用辛普森就行辣. 一种写法: double a,b,c,d; double ...

  8. luogu 6046 纯粹容器 期望dp

    LINK:纯粹容器 一道比较不错的期望题目. 关键找到计算答案的方法. 容易发现对于每个点单独计算答案会好处理一点. 暴力枚举在第k轮结束统计情况 然后最后除以总方案数即可. 考虑在第k轮的时候结束 ...

  9. 怎么下载腾讯课堂M3U8格式的视频

    好好学习,天天向上 本文已收录至我的Github仓库DayDayUP:github.com/RobodLee/DayDayUP,欢迎Star,更多文章请前往:目录导航 前言 用过腾讯课堂的小伙伴们可能 ...

  10. OpenCL 增强单work-item kernel性能策略

    1.基于反馈的Optimization Report解决单个Work-item的Kernel相关性 在许多情况下,将OpenCL™应用程序设计为单个工作项内核就足以在不执行其他优化步骤的情况下最大化性 ...