Redis组件介绍(二)

news/2024/11/19 12:29:41/文章来源:https://www.cnblogs.com/cjybigdatablog/p/18387456

写在前面

今天我们继续学习 Redis。

Redis 常用数据类型

在 Redis 中,每个存储的键值对中,键是 String 类型,值可以是不同的数据类型。Redis 的索引是含头含尾的。

String

内存模型

常用指令

  • 设置值

    • SET key value: 设置一个 key/value。
    • MSET key1 value1 [key2 value2 ...]: 一次设置多个 key/value。
    • SETEX key seconds value: 设置一个 key 的有效期(秒),可以设置不存在的键。
    • PSETEX key milliseconds value: 设置一个 key 的有效期(毫秒)。
    • SETNX key value: 如果 key 不存在则设置值。
    • MSETNX key1 value1 [key2 value2 ...]: 同时设置多个 key,只有当所有 key 不存在时才会保存。
  • 获取值

    • GET key: 根据 key 获取对应的 value。
    • MGET key1 [key2 ...]: 一次获取多个 key 的 value。
    • GETSET key value: 获取原始 key 的值,同时设置新值。
    • GETRANGE key start end: 截取 value 的内容,从 start 到 end(含头含尾)。
  • 其他操作

    • STRLEN key: 获取对应 key 存储 value 的长度。
    • APPEND key value: 为对应 key 的 value 追加内容,返回修改后的总字符串长度。
    • DECR key: 数值类型的 -1 操作。
    • DECRBY key decrement: 根据提供的数据进行减法操作。
    • INCR key: 数值类型的 +1 操作。
    • INCRBY key increment: 根据提供的数据进行加法操作。
    • INCRBYFLOAT key increment: 根据提供的数据加入浮点数(不进行四舍五入)。

List

内存模型

常用指令

  • 操作列表

    • LPUSH key value [value ...]: 将某个值加入到列表的头部。如果列表不存在,会创建新列表。
    • LPUSHX key value: 在列表存在时,将值加入到列表的头部。
    • RPUSH key value [value ...]: 将某个值加入到列表的末尾。
    • RPUSHX key value: 在列表存在时,将值加入到列表的末尾。
  • 获取和删除

    • LPOP key: 从列表左边返回并移除第一个元素。
    • RPOP key: 从列表右边返回并移除第一个元素。
    • LRANGE key start stop: 获取指定范围内的元素。
    • LLEN key: 获取列表元素个数。
    • LSET key index value: 设置指定索引的值。
    • LINDEX key index: 获取指定索引位置的元素。
    • LREM key count value: 删除列表中指定的元素。
    • LTRIM key start stop: 保留列表中特定区间内的元素,删除其他元素。
    • LINSERT key BEFORE|AFTER pivot value: 在指定元素之前或之后插入新元素。

Set

内存模型

Set 是无序且不可重复的。

常用指令

  • 操作集合

    • SADD key member [member ...]: 向集合添加元素。
    • SMEMBERS key: 显示集合中所有元素。
    • SCARD key: 返回集合中元素的个数。
    • SPOP key: 随机返回并删除一个元素。
    • SMOVE source destination member: 从一个集合移动元素到另一个集合(必须是同种类型)。
    • SREM key member [member ...]: 从集合中删除指定元素。
    • SISMEMBER key member: 判断集合中是否包含某个元素。
    • SRANDMEMBER key [count]: 随机返回集合中的元素。
  • 集合运算

    • SDIFF key [key ...]: 返回第一个集合中不在其他集合中的元素。
    • SINTER key [key ...]: 求集合的交集。
    • SUNION key [key ...]: 求集合的并集。

Sorted Set (ZSet)

内存模型

Sorted Set 是可排序的集合,元素不可重复,并且具有分数。

常用指令

  • 操作有序集合
    • ZADD key score member [score member ...]: 添加元素到有序集合。
    • ZCARD key: 返回集合的元素个数。
    • ZRANGE key start stop [WITHSCORES]: 返回指定范围内的元素(升序)。
    • ZREVRANGE key start stop [WITHSCORES]: 返回指定范围内的元素(降序)。
    • ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]: 按分数查找范围内的元素。
    • ZRANK key member: 返回元素的排名(升序)。
    • ZREVRANK key member: 返回元素的倒序排名。
    • ZSCORE key member: 显示元素的分数。
    • ZREM key member [member ...]: 移除某个元素。
    • ZINCRBY key increment member: 为元素增加分数。

Hash

内存模型

Hash 的 value 是一个 map 结构,存储键值对。Redis 中的 Hash 类似于 Map 类型,键无序。

常用指令

  • 操作哈希

    • HSET key field value [field value ...]: 设置一个或多个 key/value 对。
    • HMSET key field value [field value ...]: 设置多个 key/value 对。
    • HSETNX key field value: 设置一个不存在的 key 的值。
  • 获取哈希值

    • HGET key field: 获取指定 field 对应的 value。
    • HGETALL key: 获取所有的 key/value 对。
    • HMGET key field [field ...]: 获取多个 field 对应的 value。
  • 其他操作

    • HDEL key field [field ...]: 删除指定的 field。
    • HEXISTS key field: 判断 field 是否存在。
    • HKEYS key: 获取所有的 key。
    • HVALS key: 获取所有的 value。
    • HINCRBY key field increment: 为指定 field 的 value 执行加法操作。
    • HINCRBYFLOAT key field increment: 为指定 field 的 value 执行浮点数加法操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/789294.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

财务报表分析指南:如何掌握核心指标?

一、概述 财务报表中有大量信息,如果我们在分析时缺乏明确的方向或忽视了重点,就很容易在繁杂的数据中迷失方向。本文将深入探讨财务报表中的几个重要指标,帮助大家更有针对性地理解这些内容,包括如何分析资产负债率、解读净资产收益率,以及计算销售复合增长率。二、关键指…

阿里巴巴对于不同职级的定义和要求

作为国内最知名的互联网大厂,阿里巴巴集团的职级体系经常成为其他互联网企业的用人参考标准,今天从我个人的角度带大家了解一下阿里的职级体系1、P1-P3 是低端职能以及外包的岗位,P4、P5 是专员,一般硕士学历校招进入阿里巴巴职级都是P5,学历极其突出的或者搞技术科研的除…

WPF-Prism Region使用

Region:区域,我的理解,就是窗体上的一部分地方,不是整个窗体。所以区域里都是用户控件UserControl,就是为了解决在窗体上显示一个自定义的公用的控件的。共两种用法:1、原始的方法(不借助prism的依赖注入),用IRegionManager接口,来完成区域的注册和设置。注册代码如下…

需求分析的 5 个步骤,可解决 80% 产品问题

本文将详细介绍拆解需求的五个步骤及一个实际案例分析,帮助读者掌握如何从不同角度切入,精确捕捉并满足用户需求。 一、拆解需求的5个步骤&通用分析角度 1. 谁在用 最基础也是最重要的一步——用户分层。因为同一个功能,不同的用户群体的需求是有差异的。 比如,首次话…

深度学习-pytorch-nerual network价格预测-004

# 1.导入相关模块 import torch from torch.utils.data import TensorDataset from torch.utils.data import DataLoader import torch.nn as nn import torch.optim as optim from sklearn.datasets import make_regression from sklearn.model_selection import train_test_s…

财务知识-会计术语

财务知识-会计术语

selenium爬虫2

无头浏览器简介 无头浏览器(Headless Browser)是一种没有图形用户界面的浏览器,它在后台运行,不会显示任何窗口或界面。无头浏览器通常用于自动化任务,如网页抓取、自动化测试和性能监控等。 爬取票房比如我要爬取上图的2008--2024年的热门电影票房排名 from selenium imp…

Zotero设置

实现Zotero数据在不同电脑间的迁移1. 说明Zotero 中文社区 | 百度网盘使用 zotero 仅同步题录信息,使用其他云同步程序同步文献的附件,此处以坚果云为例进行演示。 准备:zotero 和 坚果云 注册账号 zotero 的插件 zotfile (国内汉化版) 坚果云客户端常用插件:zotfile jasmi…

CentOS 7.9 内核从 3.10 升级到 5.4

1.背景介绍: 环境需求:在搭建 Kubernetes (K8S) 环境时,内核版本最好大于 4.4 以支持 K8S 的所有特性。 当前内核版本:CentOS 7.9 的默认内核版本为 3.10.0-1160.el7.x86_64,不满足 K8S 的推荐内核版本要求。 2.查看内核版本及相关包: 使用命令 uname -r 查看当前内核版本…

基于LangChain手工测试用例转Web自动化测试生成工具

在传统编写 Web 自动化测试用例的过程中,基本都是需要测试工程师,根据功能测试用例转换为自动化测试的用例。市面上自动生成 Web 或 App 自动化测试用例的产品无非也都是通过录制的方式,获取操作人的行为操作,从而记录测试用例。整个过程类似于但是通常录制出来的用例可用性…

PbootCMS网站常见错误提示总结

一些初涉相关领域的新朋友在进行 pbootcms 的安装过程中,往往会频繁遭遇一些错误状况。接下来,为您详细罗列 pbootcms 于后台抑或前台所呈现出的各类问题以及相应的解决办法。1、Parse error: syntax error, unexpected :, expecting { in www\core\function\handle.php on l…