当前位置: 首页 > article >正文

Redis相关技术内容

1. Redis整体的技术全景

  • 应用场景:数据结构的应用、缓存应用、集群应用

  • 底层原理:线程模型、主从复制、负载均衡

    ​ 数据结构、哨兵机制、数据分片

    ​ AOF、 RDB

2. 并发承载

  • redis(官方 10w/s)
  • 数据库->mysql 并发范围:写:600/s 读 2000/s

3. Redis的基本数据类型

基本数据类型:string、hash、list、set、zset。

3.1 string类型

  • setnx 不存在才set

    set a 1 nx

  • setxx 存在才set

    set b 2 xx

  • mset 批量set

    mset a 1 b 2 c 3

  • mget 批量获取

    mget a b c d

  • incr incr-key 自增值

    set incr-key 1

    incr incr-key

  • decr incr-key 自减

    decr incr-key

  • getset hello hello 获取到旧的值

    set hello 1

    getset hello newvalue 此时返回的是1,但是hello已经被设置成newvalue

  • setrange hello 5 x 将hello 第5的位置设置成x

  • getrange hello 1 4 获取范围

3.2 hash类型

可以用于存储关系型数据库的二维表结构的数据。

  • hset user:1 name li 在user:1的数据上存储了name:li的值

  • hset user:1 age 24

  • hmset user:2 name zhang age 18 批量设置

  • hsetnx user:1 name li

  • hget user:1 name 拿到user:1数据上的name对应的值

  • hmget user:1 name age

  • hlen user:1 取出长度数据

  • hvals user:1 取出所有的key的值

  • hkeys user:1 取出所哟key的名称

  • hgetall user:1 取出所有key value

  • hincrby user:1 id 2 自增内部字段的值

3.3 list类型

存储最多的元素个数:2的32次方-1个(4294967296)

有序的元素。

  • rpush demolist a 向右边插入一个值
  • lpush demolist b 向左边插入一个值
  • lrange demolist 0 -1 取出list的所有值列表
  • lpop demolist 2 弹出元素右边两个(不传入参数则默认为一个)元素
  • lrem demolist 2 y 从作向右删除2个y
  • ltrim demolist 0 1 保留0-1位置的值
  • lset demolist 1 xx 将1位置值改成xx
  • lindex demolist 1 取出1位置的值
  • llen demolist list的长度

应用场景可以是:文章列表,做分页有序,支持范围的业务。

3.4 set类型

没有重复的数据集合

  • sadd demoset a b c d e f d d 添加后会进行去重
  • smembers demoset 查看集合所有值
  • srem demoset c d 删除指定值
  • smemebers demoset a 查询元素是否存在
  • scard demoset 查存在多少个元素
  • srandmember demoset 随机返回一个元素
  • spop demoset 弹出一个元素
  • del demoset 删除key
  • sinter set1 set2 求并集
  • sunion set1 set2 求交集
  • sdiff set1 set2 求差集
  • sinterstore interset set1 set2 将交集结果存在interset(set)中

应用场景:打标签,生成随机数这样的场景。

3.5 zset类型

结构是key :二维的score、member表格存储的值

  • zadd zset 90 lisi

  • zadd zset 95 wangwu

  • zadd zet 100 zhangsan

  • zcard zset 查看值多少条记录

  • zscore zset lisi 查看lisi的分数

  • zrank zset lisi 查看lisi的排名

  • zrevrank zset lisi 反转排序取出lisi的排名

  • zincrby zset 6 lisi 将lisi的分数增加6分

  • zrange zset 0 1 withscores 获取到按照升序、排名前二的姓名和成绩

  • zrevrange zset 0 1 withscores 反转获取到降序、排名前二的姓名和成绩

  • zrangebyscore zset 96 100 分数范围查询

应用场景:求平均成绩

  • zinterstore zsetavg 2 set1 set2 weights 0.5 0.5
  • zrange zsetavg 0 -1 withscores

http://www.kler.cn/a/392426.html

相关文章:

  • 欲海航舟:探寻天性驱动下的欲望演变与人生驾驭
  • 学习 Python 编程的规则与风格指南
  • pdf有密码,如何实现pdf转换word?
  • MySQL基础-常见的增删改查操作语句总结
  • Jensen-Shannon Divergence:定义、性质与应用
  • J9学习打卡笔记
  • 一条SQL查询语句的执行流程(MySQL)
  • 微信小程序进行md5加密 ,base64 转码
  • nuxt3添加wowjs动效
  • mysql 实现分库分表之 --- 基于 MyCAT 的分片策略详解
  • windows中docker安装redis和redisinsight记录
  • 什么时候用 Tailwind 什么时候用 CSS
  • 第 8 章 - Go语言 数组与切片
  • 大语言模型安全威胁
  • [Docker#3] LXC | 详解安装docker | docker的架构与生态
  • Three.js 纹理与网格的优化
  • Linux将二进制软件包编译成rpm软件包教程详解
  • unity3d————四元数的计算
  • 【每日推荐】使用 Ollama 平台上的 Llama 3.2-vision 模型进行视频目标检测
  • 【PGCCC】Postgresql Toast 原理
  • Maven 构建项目
  • qt creator开发一个Linux 下运行的无界面的程序
  • 力扣617:合并二叉树
  • Cesium基础-(Entity)-(label )
  • 如何快速开发一套MES系统?
  • SpringBoot(八)使用AES库对字符串进行加密解密