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

Redis(二)数据类型

文章目录

    • 官网
    • 备注
    • 十大数据类型
      • String
      • List
      • Hash
      • Set
      • ZSet
      • Bitmap
      • HyperLogLog:
      • GEO
      • Stream
      • Bitfield

官网

英文:https://redis.io/commands/
中文:http://www.redis.cn/commands.html

备注

  1. 命令不区分大小写,key区分大小写
  2. 帮助命令help @类型,例如help @string

十大数据类型

  1. String
    k v
  2. List
    k v v v
  3. Hash
    k hk hv
  4. Set
    k v v v不重复v
  5. ZSet
    k score1 v1 score2 v2
  6. Bitmap
    k offset v
  7. HyperLogLog:
    k v v v
  8. GEO
    k longitude latitude member [longitude latitude member]
  9. Stream
    对标MQ
  10. Bitfield
    字符串变长位宽和任意没有字节对齐的指定整型位域进行寻址和修改

String

命令

k键,v为值需要填充进去,例如set test 123,其中test为key,123为value

set k v
get k
set k v keepttl
# keepttl继承设置的过期时间不会因为k的value被set就修改过期时间
# 同时获取多个键值
mset k v [k v ...]
mget k [k]
# 获取指定区间范围内的值
getrange/setrange
# 数值增减(只有数值才能增减)
INCR key # 递增数字
INCRBY key increment # 增加指定整数
DECR key # 递减数值
DECRBY key decrement # 减少指定整数
# 获取字符串内容长度和内容追加
STRLEN key
APPEND key value
# 分布式锁
setnx key value
setex # set with expire
setnx # set if not exist
# 先set再get
getset k v

List

k v v v

# 左侧加入/右侧加入/指定范围显示
lpush/rpush/lrange
lpop/rpop
# 获取列表中元素个数
llen
# 按照索引下标获得元素(从上到下)
lindex
# 数字N给定值v1 解释(删除N个值等于v1的元素)
lrem key
# 开始index结束index,截取指定范围再赋值给key
ltrim key
# 用于移除列表的最后一个元素,并将该元素添加到另一个列表并返回。
rpoplpush listsource listdist
lset key index value
linsert key before/after # 已有值/插入新值

Hash

k hk hv

hset/hget/hmset/hmget/hgetall/hdel hash
# 获取某个key内全部数量
hlen hash
# 在key里面某个值的key,有返回1 
hexists key
# 显示所有key,value
hkeys hash
hvals hash
# 表中的字段值加上指定增量值33.4。
hincrby hash k1 3
hincrbyfloat hash k1 3.4
# 表中不存在的的字段赋值,已经存在于哈希表中,操作无效。
hsetnx hash k1 45

Set

k v v v不重复v

# 添加元素
sadd key member [member...]
# 遍历集合所有元素
smembers key
# 判断元素是否在集合中
ismember key member
# 删除元素
srem key member [member...]
# 获取集合元素个数
scard 
# 集合中随机弹出[数字]个值,元素不删除
srandmember key [数字]
# 从集合中随机弹出一个元素,并删除
spop key [数字]
# 将k1里已经存在的某个值赋值给k2
smove k1 k2

集合运算

# 差集
sdiff key [key...]
# 并集
sunion key [key...]
# 交集
sinter key [key...]

ZSet

k score1 v1 score2 v2

# 添加元素
zadd key score member [score member...]
# 按照元素从小到大排序返回索引从start到stop之间的所有元素
zrange key start stop [widthscores]
# 翻转顺序
zrevrange
# 获取指定分数范围的元素
zrangebyscore key min max [widthscores] [limit offset count]
# 获取元素分数
zscore key member
# 获取元素数量
zcard key
# 某score下对应的value值,作用是删除元素
zrem key
# 增加某个元素分数
zincrby key increment  member
# 获取指定分数范围内元素个数
zcount key min max
# 从提供的键名列表中的第一个非空排序集中弹出一个或多个元素
zmpop 1 key min count 1
# 获取下标值,获得排名
zrank key values
# 逆序获取下标值
zrevrank key values

Bitmap

k offset v

# setbit 键 偏移位 value只能01
setbit key offset value
getbit key offset
# 获取
getbit key offset
# 统计字节数占用
strlen key
# 统计全部键里面含1多少个
bitcount key
# 在多个键(包含字符串值)之间执行按位操作并将结果存储在目标键中
bitop operation destkey key [key ...]

HyperLogLog:

k v v v
基数统计

在这里插入图片描述
在这里插入图片描述

GEO

k longitude latitude member [longitude latitude member]

中文乱码解决
在这里插入图片描述
geopos
在这里插入图片描述
在这里插入图片描述
geohash
在这里插入图片描述
在这里插入图片描述
geolist
在这里插入图片描述
在这里插入图片描述
geodist在这里插入图片描述
在这里插入图片描述
georadius
以给定的经纬度为中心, 返回键包含的位置元素当中, 与中心的距离不超过给定最大距离的所有位置元素。

GEORADIUS city 116.418017 39.914402 10 km withdist withcoord count 10 withhash desc
GEORADIUS city 116.418017 39.914402 10 km withdist withcoord withhash count 10 desc

Stream

对标MQ不建议使用

Bitfield

字符串变长位宽和任意没有字节对齐的指定整型位域进行寻址和修改

https://ascii.org.cn
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
溢出控制

  1. wrap:使用回绕(wrap around)方法处理有符号整数和无符号整数的溢出情况
  2. sat:使用饱和计算(saturation arithmetic)方法处理溢出,下溢计算结果为最小的整数值,而上溢计算的结果为最大的整数值
  3. fail:命令将拒绝执行那些会导致上溢或下溢情况出现的计算,并向用户返回空值表示计算未被执行

相关文章:

Redis(二)数据类型

文章目录 官网备注十大数据类型StringListHashSetZSetBitmapHyperLogLog:GEOStreamBitfield 官网 英文:https://redis.io/commands/ 中文:http://www.redis.cn/commands.html 备注 命令不区分大小写,key区分大小写帮助命令help…...

2023年广东省网络安全B模块(笔记详解)

模块B 网络安全事件响应、数字取证调查和应用安全 一、项目和任务描述: 假定你是某网络安全技术支持团队成员,某企业的服务器系统被黑客攻击,你的团队前来帮助企业进行调查并追踪本次网络攻击的源头,分析黑客的攻击方式,发现系统漏洞,提交网络安全事件响应报告,修复系统…...

每日力扣算法题(简单篇)

543.二叉树的直径 原题: 给你一棵二叉树的根节点,返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由它们之间边数表示。 解题思路: …...

Flume基础知识(三):Flume 实战监控端口数据官方案例

1. 监控端口数据官方案例 1)案例需求: 使用 Flume 监听一个端口,收集该端口数据,并打印到控制台。 2)需求分析: 3)实现步骤: (1)安装 netcat 工具 sudo yum …...

通过IP地址如何进行网络安全防护

IP地址在网络安全防护中起着至关重要的作用,可以用于监控、过滤和控制网络流量,识别潜在威胁并加强网络安全。以下是通过IP地址进行网络安全防护的一些建议: 1. 建立IP地址白名单和黑名单: 白名单:确保只有授权的IP地…...

Vue.js 中使用 Watch 选项实现动态问题判断与展示答案

组件结构 以下是组件的基本结构&#xff1a; <template><div><!-- 输入框&#xff0c;用于输入问题 --><p>提出一个是/否问题&#xff1a;<input v-model"question" :disabled"loading" /></p><!-- 显示答案 --&…...

python笔记-自用

2024/1/3# python用号实现字符串的拼接&#xff0c;非字符串不能拼接 from pymysql import Connection# 连接mysql数据库salary 100 name "wang"ans "%s" % salary name print(ans)x 1 y 2 sum "%s %s" % (x, y) print(sum)# %s字符串占…...

安克创新与火山引擎数智平台开展合作:数据分析降门槛 数据协同破边界

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 近日&#xff0c;消费电子品牌安克创新与火山引擎数智平台&#xff08;VeDI&#xff09;达成合作&#xff0c;双方将聚焦安克创新大数据平台的海量数据分析场景&…...

LDD学习笔记 -- Linux内核模块

LDD学习笔记 -- 内核模块 简介LKM类型Static Linux Kernel ModuleDynamic Linux Kernel ModuleLKM编写语法 syntax详细描述内核头文件用户空间头文件Module Initialization FunctionModule Cleanup FunctionKeyword & Tag宏 __init __exitLKM入口注册Module Metadate&#…...

springboot整合springbatch批处理

springboot整合springbatch实现批处理 简介项目搭建步骤 简介 项目搭建 参考博客【场景实战】Spring Boot Spring Batch 实现批处理任务&#xff0c;保姆级教程 步骤 1.建表 建表sql CREATE TABLE student (id int NOT NULL AUTO_INCREMENT,name varchar(100) NOT NULL C…...

答案解析——C语言—第2次作业:转义字符

本次作业的链接如下&#xff1a;C语言—第2次作业&#xff1a;转义字符 1.下面哪个不是C语言内置的数据类型&#xff1a; C char //字符数据类型short //短整型int //整形long //长整型long long //更长的整形float //单精度浮点数double //双精度浮点数 …...

HTML5-新增表单input属性

新增表单属性 form控件主要新增的属性: autocomplete 是否启用表单的自动完成功能&#xff0c;取值&#xff1a;on&#xff08;默认&#xff09;、off novalidate 提交表单时不进行校验&#xff0c;默认会进行表单校验 autocomplete属性 概念&#xff1a;autocomplete属性…...

css-、串联选择器和后代选择器的用法

& &表示嵌套的上一级&#xff0c;这是sass的语法&#xff0c;代表上一级选择器 .btn {&.primary {background-color: #007bff;color: #fff;} } 编译出来的结果是同一个元素&#xff0c;有两个类名&#xff0c;两个类名之间没有空格&#xff1a; .btn.primary {…...

nifi详细介绍--一款开箱即用、功能强大可靠,可用于处理和分发数据的大数据组件

目录 目录 一、引言 二、NiFi 的历史背景介绍 三、NiFi 是什么&#xff1f; 核心特性 应用领域 四、NIFI 入门 五 、NiFi 工作流程 六、实际应用场景 七、优势总结 一、引言 NiFi&#xff08;Apache NiFi&#xff09;&#xff0c;全名为“Niagara Files”&#xff0…...

K8S Dashboard登录Token过期问题处理

整体思路 用户访问一个页面&#xff0c;在该页面中设置一个超链接&#xff0c;点击跳转至K8S Dashboard&#xff1b;跳转后&#xff0c;使用剪贴板上已复制的Token粘贴到Dashboard页面中的输入框登录即可。 写个定时任务将Token复制到页面上&#xff0c;过期了重新再登…...

x-cmd pkg | trafilatura - 网络爬虫和搜索引擎优化工具

目录 简介首次用户技术特点竞品和相关作品进一步阅读 简介 trafilatura 是一个用于从网页上提取文本的命令行工具和 python 包: 提供网络爬虫、下载、抓取以及提取主要文本、元数据和评论等功能可帮助网站导航和从站点地图和提要中提取链接无需数据库&#xff0c;输出即可转换…...

前端知识点(面试可看) —— JS

摘要 马上就要毕业啦&#xff0c;没有参加2023年的秋招&#xff0c;准备在最近开始找全职或者实习工作&#xff0c;然后也马上过年了&#xff0c;总结和理一下自己的知识要点&#xff0c;参加2024年的春招。 1. JS的执行流程 浏览器的V8引擎收到到执行的JS代码V8结构化这段代…...

CSRF总结

CSRF 文章目录 CSRF漏洞原理漏洞危害漏洞防护CSRF攻击流程CSRF和XSS的区别CSRF漏洞挖掘及利用 CSRF 跨站点请求伪造&#xff08;CSRF&#xff09;攻击者会诱导受害者点击事先伪造好的url或者链接&#xff0c;点击后&#xff0c;攻击者就可以盗用你的身份&#xff0c;以你的身份…...

降维算法的简单介绍

降维算法 降维算法&#xff1a; 通过减少数据的维度&#xff0c;如主成分分析和 t-分布邻域嵌入等。 降维通俗的讲&#xff0c;是通过减少数据的维度来处理高维数据的过程。降维算法有助于消除数据中的冗余信息&#xff0c;减少噪声&#xff0c;并提高计算效率。以下是一些常见…...

k8s的声明式资源管理

在k8s当中支持两种声明资源的方式&#xff1a; 1、 yaml格式&#xff1a;主要用于和管理资源对象 2、 json格式&#xff1a;主要用于在API接口之间进行消息传递 声明式管理方法(yaml)文件 1、 适合对资源的修改操作 2、 声明式管理依赖于yaml文件&#xff0c;所有的内容都…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...

Linux --进程控制

本文从以下五个方面来初步认识进程控制&#xff1a; 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程&#xff0c;创建出来的进程就是子进程&#xff0c;原来的进程为父进程。…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生&#xff0c;小白用户&#xff0c;想学习知识的 有点基础&#xff0c;想要通过项…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...