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

Redis基础学习(五大值数据类型的常用操作命令)

目录

一、Redis基本知识与Redis键(key)常用操作命令。

二、Redis的五大值的数据类型。(value)

三、Redis关于键(key)的值常用操作指令表格统计。

(1)字符串(String)。

(2)列表。(List) 

(3)哈希表(Hash)

(4)集合。(Set)

(5)有序集合。(ZSet)


一、Redis基本知识与Redis键(key)常用操作命令。

  • redis的默认端口6379。mysql默认端口号3306。
  • 默认16个数据库,类似数组的下标从0开始,初始默认使用0号库。可以使用select index来切换数据库,如:select 1,表示切换到第2个库。
  • 统一密码管理,所有的库密码相同。

  • Redis键(key)的相关操作命令。

二、Redis的五大值的数据类型。(value)

  • redis字符串。(String)
  • redis列表。(List)
  • redis集合。(Set)
  • redis哈希表。(Hash)
  • redis有序集合(Zset)

三、Redis关于键(key)的值常用操作指令表格统计。

(1)字符串(String)。
  • Redis值(字符串)常用命令的表格统计。
命令基本介绍
set key value添加键值对。若键存在,会覆盖原值。(简单设置字符串值)
get key获取键对应值。
setnx key valuekey不存在时,才会设置对应的key与value。
append key value原有键的值后追加值。。
strlen key获取字符串值的长度。
mset k1 v1 k2 v2 ...同时设置多个key-value。
msetnx k1 v1 k2 v2 ...原子性:当所有的key就不存在值时,则设置成功。
mget k1 k2...同时获取多个key对应的value。
getrange key start end获取值的范围。与Java的substring很像,提取指定范围的字符串。
setrange key start value覆盖指定起始位置的值。
setex key 过期时间 value设置键与过期时间与值。
getset key value设置新值同时返回旧值。
  • Redis值(字符串)关于数字值的递增、递减命令的表格统计。
命令基本介绍
incr key指定key的数字值的递增。如果key不存在,默认为1。
decr key指定key的数字值的递减。如果key不存在,默认为-1。
incrby key +value对指定key递增指定数值。如果key不存在,则在0基础上+递增的值。
decrby key -value对指定的key递减指定数值。如果key不存在,则在0基础上-递增的值。
(2)列表。(List) 
  • Redis列表是简单的字符串列表。底层实际上是使用双向链表实现的。
  • Redis值(列表)常用命令的表格统计。
命令基本介绍
lpush k1 v1 k2 v2 ...从左边插入一个或多个值
rpush k1 v1 k2 v2 ...从右边插入一个或多个值
lrange key start stop查询指定列表key的指定区间的元素。
正数下标:0第一个元素,负数下标:-1倒数1个元素,-2倒数第2个
lprop key count
从左边弹出多个元素,count可以省略,默认值为1
rprop key count从右边弹出多个元素,count可以省略,默认值为1
rproplpush
source destination
从一个列表右边弹出一个元素并放到另外一个列表中
lindex key index查询指定索引位置的元素(从左到右)
llen key获取指定列表的长度
linsert key before|after
value newvalue
将值newvalue插入到列表key当中,位于值value之前或之后。
value不存在列表中时,不执行任何操作
lrem key count value
根据参数count的值,移除列表中与参数value相等的元素
若count>0,从表头开始搜索,移除与value相等的元素,数量为count
若count<0,从表尾开始搜索,移除与value相等的元素,数量为count绝对值
若count=0,移除表中所有与 value 相等的值。
lset key index value
将列表key的下标索引为index的元素的值设置为value。
(3)哈希表(Hash)
  • Redis hash是一个键值对集合。
  • Redis hash是一个string类型的fieldvalue的映射表,hash特别适合用于存储对象。 类似于java里面的Map<String,Object>。

命令基本介绍
hset key field value
[field1 value1 field2 value2 ...]

设置单个或多个field及value。

将哈希表key中的域field的值设为value 。
hget key field获取(查询)指定field的值value。
hgetall key返回指定hash表的所有域field以及值value。
hexists key field
判断给定的域field是否存在。1:存在,0:不存在
hkeys key
返回指定hash表的所有的域filed
hvals key
返回指定hash表的所有的值value
hlen key返回指定hash表的域filed数量
hincrby key field increment
给指定hash表的指定域filed的值加上指定的增量。
增量也可以为负数,相当于对给指定域filed的值value进行减法操作。
如果域filed对应的值value不是integer会错误提示。
hsetnx key field value
将哈希表key中的域field的值设置为value ,当且仅当域field不存在!
(4)集合。(Set)
  • Redis Set与List类似,是一个列表的功能,特殊之处在于Set是可以自动排重的!当需要存储一个列表数据,又不希望出现重复数据时,Set是一个很好的选择。
  • Redis的Set是String类型的无序集合,他的底层实际是一个value为null的Hash表,添加,删除,查找复杂度都是O(1)。

命令基本介绍
sadd key value1 value2 ...添加一个或多个元素。(会自动去重)
smembers key取出(查询)所有元素
sismember key value
判断集合key中是否包含元素value。其中1:有,0:没有
scard key返回集合中元素的个数
srem key member
[member1 member2 ...]
移除(删除)集合key中的一个或多个member元素。
若不存在的member元素会被忽略执行。
spop key [count]

随机弹出count个元素。count默认为1。

被弹出的元素会被删除,返回弹出元素值

srandmember key [count]随机获取count个元素。count默认为1。
不会删除集合中的元素。
smove source destination membermember元素从集合source移除,并添加到destination 集合中。
destination 集合中已有该元素,只进行source移除操作。
sinter
sinterstore
sunion
sunionstore
sdiff
(5)有序集合。(ZSet)
  • 有时候补充。。。。2025.7.8,23:33

http://www.lryc.cn/news/582731.html

相关文章:

  • 中韩SD-WAN网络加速专线:提升国内与韩国公司网络性能的关键
  • ThreadPoolTaskExecutor 的使用案例
  • 东南亚主播解决方案|东南亚 TikTok 直播专线:纯净住宅 IP 、直播不卡顿
  • 分布式理论:CAP、Base理论
  • iOS打包流程
  • C++11 算法详解:std::copy_if 与 std::copy_n
  • 库制作与原理
  • Web前端开发: :where(伪类函数选择器)
  • Python之--列表
  • 实时音视频通过UDP打洞实现P2P优先通信
  • Python爬虫实战:研究python-nameparser库相关技术
  • nvm npm nrm 使用教程
  • Crazyflie支持MATLAB/Simulink控制 基于NOKOV度量动捕系统实现
  • 安装 asciidoctor-vscode 最新版
  • 【Python篇】PyCharm 安装与基础配置指南
  • Spring AI 基本组件详解 —— ChatClient、Prompt、Memory
  • Fiddler-关于抓取Android手机包,安装证书后页面加载失败,提示当前证书不可信存在安全风险的问题
  • Rust 中字符串类型区别解析
  • Rust 仿射类型(Affine Types)
  • AR/VR 显示画质失真?OAS百叶窗波导案例破难题
  • Linux网络:UDP socket创建流程与简单通信
  • 深入解析 structuredClone API:现代JS深拷贝的终极方案
  • 【RAG知识库实践】数据源Data Source
  • 使用策略模式 + 自动注册机制来构建旅游点评系统的搜索模块
  • 京东商品评论(2)
  • 机器学习(西瓜书) 第三章 线性模型
  • 【PyTorch】PyTorch中torch.nn模块的激活函数
  • Nuxt.js 静态生成中的跨域问题解决方案
  • maven 发布到中央仓库之 Ignore Licence-04
  • FPGA 47 ,MIG 内存接口生成器深度解析( FPGA 中的 MIG 技术 )