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:命令将拒绝执行那些会导致上溢或下溢情况出现的计算,并向用户返回空值表示计算未被执行

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

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

相关文章

关于时间格式yyyy-M-d或yyyy-MM-d到yyyy-MM-dd的转换

工作时遇到前端传的时间格式是"2023-12-3 17:41:52",和"2023-1-1 17:41:52"但是我想要的是"2023-12-03 17:41:52"和"2023-01-01 17:41:52"。下面给大家分享几个解决方法 方法一: 找前端!让他改&…

CSS属性的计算过程和层叠规则总结

✨ 专栏介绍 HTML/CSS专栏合集是一个涵盖HTML和CSS两个方面的栏目。HTML是一种标记语言,用于创建网页的结构和内容,而CSS是一种样式表语言,用于控制网页的外观和布局。 在HTML/CSS专栏合集中,我们将深入探讨HTML和CSS的基础知识…

汽车架构解析:python cantools库快速解析arxml

文章目录 前言一、安装cantools二、官方说明文档三、cantools方法1、解析message的属性2、解析pdu中的signals3、根据message查找signals4、报文组成bytes 总结 前言 曾经有拿cantools来解析过dbc,用得比较浅,不知道可以用来解析arxml。最近有个需求需要…

【纯java代码实现字符串运算符或公式计算,支持函数,不借助第三方依赖、工具】

纯java代码实现字符串运算符或公式计算,支持函数,不借助第三方依赖和工具 效果图代码 效果图 代码 import java.math.BigDecimal; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; import…

在 Oracle 数据库表中加载多个数据文件

在本文中,我将展示 SQL 加载器 Unix 脚本实用程序的强大功能,其中 SQL 加载器可以使用自动 shell 脚本加载多个数据文件。这在处理大量数据以及需要将数据从一个系统移动到另一个系统时非常有用。 它适合涉及大量历史数据的迁移项目。那么就不可能为每…

Elasticsearch:带有自查询检索器的聊天机器人示例

本工作簿演示了 Elasticsearch 的自查询检索器 (self-query retriever) 将问题转换为结构化查询并将结构化查询应用于 Elasticsearch 索引的示例。 在开始之前,我们首先使用 langchain 将文档分割成块,然后使用 ElasticsearchStore.from_documents 创建…

企业微信开发:自建应用:接收消息(企业内部服务器)/回调配置

概述 在企业微信的自建应用中,用户触发了某些行为(发送消息、进行菜单操作或者外部联系人变更等),要发送相关信息给企业内部服务器。 备注:接收消息 和 回调,在本文中指代相同的行为,即企业微信…

Jenkins部署项目

一.安装jenkins 1.1进入jenkins官网下载jenkins war包,上传到服务器/usr/local目录。 1.2执行启动jenkins命令,(注意jenkins版本需要的jdk版本) /usr/local/java11/bin/java -Djava.awt.headlesstrue -jar /usr/local/jenkins.wa…

使用sdf文件+urdf文件模拟机器人示例(不用把urdf转sdf)

gazebo版本&#xff1a;harmonic&#xff1b; <launch> <group> <let name"robot_description" value"$(command xacro $(find-pkg-share gazebo_pkg)/urdf/total.xacro)"/> <node pkg"rviz2" exec"rviz2" name…

[讲座] - 闲聊工业设计

1&#xff0c;工业设计相关的学科分类 2&#xff0c;工业设计的职业发展路线 3&#xff0c;工业设计师的成名人物 4&#xff0c;设计了可口可乐的Loewy 可口可乐的瓶子&#xff0c;无论白天晚上还是瓶子被打碎&#xff0c;都能认出这个是可口可乐的瓶子。 草图参照了可可豆&am…

深度生成模型之GAN优化目标设计与改进 ->(个人学习记录笔记)

文章目录 深度生成模型之GAN优化目标设计与改进原始GAN优化目标的问题1. JS散度度量问题2. 梯度问题 优化目标的设计与改进1. 最小二乘损失GAN2. Energy-based GAN(EBGAN)3. Wasserstein GAN4. WGAN-GP5. Boundary Equilibrium GAN(BEGAN)6. Loss Sensitive GAN7. Relativeisti…

Cuk、Zeta和Sepic开关电源拓扑结构

Cuk、Zeta和Sepic变换器,三种拓扑结构大致类似。不同点在于电感和二极管&#xff0c;MOS管的位置关系的变化。 Cuk电源是一种非隔离的直流电源转换器&#xff0c;其基本结构包括输入滤波电容、开关管、输入电感、输出电感和输出电容等元件。Cuk电路可以看作是Boost和Buck电路的…

基于双闭环PI和SVPWM的PMSM控制器simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 双闭环PI控制器设计 4.2 SVPWM技术 4.3 控制系统实现 5.完整工程文件 1.课题概述 基于双闭环PI和SVPWM的PMSM控制器simulink建模与仿真。系统包括逆变桥、PMSM、park变换、clark变换、SVPWM、PI控…

解决电脑访问共享文件问题:“无法访问。你可能没有权限使用网络资源。请与这台服务器的......”

文章目录 1. 问题2. 解决方法 1. 问题 2. 解决方法 Win R 键入 gpedit.msc在弹出的窗口,展开左侧目录树至安全选项,如图。( 计算机配置-Windows设置:安全设置-本地策略-安全选项)

2023我的编程之路

你的编程学习经历和成长过程&#xff1a; 在我探索编程世界的旅程中&#xff0c;我深刻地认识到&#xff0c;编程不仅仅是一种技术&#xff0c; 是一种思维方式&#xff0c; 一种解决问题的方法。希望通过分享我的编程学习体验&#xff0c;能够启发更多的人看到编程的魅力和价值…

克隆clone github上某个项目的子目录

有时会遇到只需要克隆github某个项目的子目录&#xff0c;此时可以使用以下方法实现&#xff1a; 需求示例&#xff1a; 现需要克隆&#xff1a;https://github.com/SingleZombie/DL-Demos项目中的ddim项目 注&#xff1a;ddim项目的地址为&#xff1a;https://github.com/Sing…

lenovo联想小新Pro-13 2020 Intel IML版笔记本电脑(82DN)原装出厂Win10系统镜像

链接&#xff1a;https://pan.baidu.com/s/1bJpfXudYEC7MJ7qfjDYPdg?pwdjipj 提取码&#xff1a;jipj 原装出厂Windows10系统自带所有驱动、出厂主题壁纸、系统属性专属LOGO标志、Office办公软件、联想电脑管家等预装程序 所需要工具&#xff1a;16G或以上的U盘 文件格式&a…

【ps】如何给人偶添加衣服

使用PS工具扣出人物 使用编辑-变形-操控变型 、

java spring boot 获取resource目录下的文档

主要代码 String filePath"templates/test.xls" ClassPathResource classPathResource new ClassPathResource(filePath); InputStream inputStream classPathResource.getInputStream();目录 主要目录存放再这 代码案例 public void downloadTemplate( HttpS…

数据库云平台新数科技完成B轮融资,打造全链路智能化数据库云平台

数据库云平台软件厂商「北京新数科技有限公司」&#xff08;以下简称「新数科技」&#xff09;已于2023年完成B1轮和B2轮融资&#xff0c;分别由渤海创富和彬复资本投资&#xff1b;义柏资本担任本轮融资独家财务顾问。 新数科技成立于2014年&#xff0c;当前产品矩阵包括数据库…