Redis(二)数据类型
文章目录
- 官网
- 备注
- 十大数据类型
- String
- List
- Hash
- Set
- ZSet
- Bitmap
- HyperLogLog:
- GEO
- Stream
- Bitfield
官网
英文:https://redis.io/commands/
中文:http://www.redis.cn/commands.html
备注
- 命令不区分大小写,key区分大小写
- 帮助命令
help @类型,例如help @string
十大数据类型
- String
k v - List
k v v v - Hash
k hk hv - Set
k v v v不重复v - ZSet
k score1 v1 score2 v2 - Bitmap
k offset v - HyperLogLog:
k v v v - GEO
k longitude latitude member [longitude latitude member] - Stream
对标MQ - 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
# 表中的字段值加上指定增量值3,3.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只能0或1
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



溢出控制
- wrap:使用回绕(wrap around)方法处理有符号整数和无符号整数的溢出情况
- sat:使用饱和计算(saturation arithmetic)方法处理溢出,下溢计算结果为最小的整数值,而上溢计算的结果为最大的整数值
- 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 选项实现动态问题判断与展示答案
组件结构 以下是组件的基本结构: <template><div><!-- 输入框,用于输入问题 --><p>提出一个是/否问题:<input v-model"question" :disabled"loading" /></p><!-- 显示答案 --&…...
python笔记-自用
2024/1/3# python用号实现字符串的拼接,非字符串不能拼接 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字符串占…...
安克创新与火山引擎数智平台开展合作:数据分析降门槛 数据协同破边界
更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 近日,消费电子品牌安克创新与火山引擎数智平台(VeDI)达成合作,双方将聚焦安克创新大数据平台的海量数据分析场景&…...
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 实现批处理任务,保姆级教程 步骤 1.建表 建表sql CREATE TABLE student (id int NOT NULL AUTO_INCREMENT,name varchar(100) NOT NULL C…...
答案解析——C语言—第2次作业:转义字符
本次作业的链接如下:C语言—第2次作业:转义字符 1.下面哪个不是C语言内置的数据类型: C char //字符数据类型short //短整型int //整形long //长整型long long //更长的整形float //单精度浮点数double //双精度浮点数 …...
HTML5-新增表单input属性
新增表单属性 form控件主要新增的属性: autocomplete 是否启用表单的自动完成功能,取值:on(默认)、off novalidate 提交表单时不进行校验,默认会进行表单校验 autocomplete属性 概念:autocomplete属性…...
css-、串联选择器和后代选择器的用法
& &表示嵌套的上一级,这是sass的语法,代表上一级选择器 .btn {&.primary {background-color: #007bff;color: #fff;} } 编译出来的结果是同一个元素,有两个类名,两个类名之间没有空格: .btn.primary {…...
nifi详细介绍--一款开箱即用、功能强大可靠,可用于处理和分发数据的大数据组件
目录 目录 一、引言 二、NiFi 的历史背景介绍 三、NiFi 是什么? 核心特性 应用领域 四、NIFI 入门 五 、NiFi 工作流程 六、实际应用场景 七、优势总结 一、引言 NiFi(Apache NiFi),全名为“Niagara Files”࿰…...
K8S Dashboard登录Token过期问题处理
整体思路 用户访问一个页面,在该页面中设置一个超链接,点击跳转至K8S Dashboard;跳转后,使用剪贴板上已复制的Token粘贴到Dashboard页面中的输入框登录即可。 写个定时任务将Token复制到页面上,过期了重新再登…...
x-cmd pkg | trafilatura - 网络爬虫和搜索引擎优化工具
目录 简介首次用户技术特点竞品和相关作品进一步阅读 简介 trafilatura 是一个用于从网页上提取文本的命令行工具和 python 包: 提供网络爬虫、下载、抓取以及提取主要文本、元数据和评论等功能可帮助网站导航和从站点地图和提要中提取链接无需数据库,输出即可转换…...
前端知识点(面试可看) —— JS
摘要 马上就要毕业啦,没有参加2023年的秋招,准备在最近开始找全职或者实习工作,然后也马上过年了,总结和理一下自己的知识要点,参加2024年的春招。 1. JS的执行流程 浏览器的V8引擎收到到执行的JS代码V8结构化这段代…...
CSRF总结
CSRF 文章目录 CSRF漏洞原理漏洞危害漏洞防护CSRF攻击流程CSRF和XSS的区别CSRF漏洞挖掘及利用 CSRF 跨站点请求伪造(CSRF)攻击者会诱导受害者点击事先伪造好的url或者链接,点击后,攻击者就可以盗用你的身份,以你的身份…...
降维算法的简单介绍
降维算法 降维算法: 通过减少数据的维度,如主成分分析和 t-分布邻域嵌入等。 降维通俗的讲,是通过减少数据的维度来处理高维数据的过程。降维算法有助于消除数据中的冗余信息,减少噪声,并提高计算效率。以下是一些常见…...
k8s的声明式资源管理
在k8s当中支持两种声明资源的方式: 1、 yaml格式:主要用于和管理资源对象 2、 json格式:主要用于在API接口之间进行消息传递 声明式管理方法(yaml)文件 1、 适合对资源的修改操作 2、 声明式管理依赖于yaml文件,所有的内容都…...
5G O-RAN中AI驱动的延迟预测系统设计与优化
1. 项目背景与核心价值在5G O-RAN架构中,延迟控制一直是网络优化的核心痛点。传统电信设备厂商采用的黑盒方案,使得运营商难以针对特定场景进行精细化调优。而O-RAN的开放特性虽然带来了灵活性,但也引入了新的挑战——当CU(集中单…...
Rust异步运行时rustclaw:高性能任务调度与并发编程实践
1. 项目概述与核心价值最近在折腾一个需要处理大量网络请求和并发任务的后台服务,性能瓶颈卡得我有点难受。传统的异步框架用起来总觉得不够“爽利”,要么是内存占用高,要么是并发模型复杂,调试起来像在走迷宫。就在我四处翻找有没…...
基于Godot与Roslyn构建现代化.NET IDE:SharpIDE架构解析与实践
1. 项目概述:一个为.NET开发者打造的现代IDE如果你是一个.NET开发者,尤其是长期使用C#进行开发,那么你肯定对Visual Studio和Visual Studio Code这两款工具又爱又恨。Visual Studio功能强大但略显笨重,VS Code轻快但针对.NET的原生…...
下行周期生存之道 = 低风险试错 × 即时反馈 × 长期复购
总结公式: 下行周期赚钱 低风险试错 即时反馈 长期复购 日本用30年验证了这套逻辑。 普通人现在能不能赚到钱,不在于胆子够不够大,而在于你能不能在大家焦虑的时候,给他一点确定感。 先收藏,慢慢找自己的切入口。...
观察Taotoken在多模型同时高并发调用下的服务表现
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 观察Taotoken在多模型同时高并发调用下的服务表现 在构建依赖大模型能力的应用时,一个常见的工程挑战是如何应对突发的…...
如何用DdddOcr在3分钟内构建离线验证码识别系统
如何用DdddOcr在3分钟内构建离线验证码识别系统 【免费下载链接】ddddocr 带带弟弟 通用验证码识别OCR pypi版 项目地址: https://gitcode.com/gh_mirrors/dd/ddddocr 在当今的自动化测试、数据采集和网络安全领域,验证码识别是绕不开的技术难题。传统的在线…...
3分钟掌握Windows安装APK:告别复杂模拟器的终极方案
3分钟掌握Windows安装APK:告别复杂模拟器的终极方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经遇到过这样的场景?同事发来一个实…...
为Odoo ERP构建安全的AI数据访问层:基于权限治理的语义查询实践
1. 项目概述:为Odoo ERP构建一个受治理的AI数据访问层如果你正在使用Odoo管理企业业务,同时又希望让AI助手(比如Claude、Cursor)能够安全地查询销售数据、分析库存状况,而不是让它们直接面对你的生产数据库写SQL&#…...
构建个人技能库:从代码片段到可复用技能单元的设计与实践
1. 项目概述:当代码遇上魔法,技能库的构建哲学在软件开发的日常里,我们常常会羡慕那些“魔法师”般的同事:他们似乎总能信手拈来一段代码,优雅地解决一个棘手问题;或者拥有一个私人的“百宝箱”,…...
新手也能看懂的CrackMe逆向实战:从查壳到用OD改跳转,一步步带你破解
新手也能看懂的CrackMe逆向实战:从查壳到用OD改跳转,一步步带你破解 逆向工程就像拆解一个神秘的黑匣子,而CrackMe则是专门为练习破解设计的"玩具程序"。记得我第一次接触CrackMe时,面对满屏的汇编代码完全不知所措。本…...
