第二十周:Redis(二)

复制代码
 本周继续介绍Redis数据库,主要从Redis的多样数据结构入手。Redist数据库包含多种常用的数据结构(String,Set,Hash,List,Zset等),正是因为这些多样的数据结构,使得Redis具备强大的功能,下面来具体介绍一下这些数据结构的使用。

1.String

复制代码
   String类型与Java中的String类型差不多,在Redis中String类型主要可用于实际开发中的计数器、缓存简单值等功能,当然也可以用于存储文本、数字等内容。
   下面介绍一下它的常见命令
   基本操作:
java 复制代码
SET key value:设置键值
GET key:获取键值
DEL key:删除键
EXISTS key:检查键是否存在
EXPIRE key seconds:设置过期时间
TTL key:查看剩余时间
复制代码
数值操作:
java 复制代码
INCR key:值加1(整数)
DECR key:值减1(整数)
INCRBY key increment:增加指定数值
DECRBY key decrement:减少指定数值
复制代码
批量操作:
java 复制代码
MSET key1 value1 key2 value2:批量设置
MGET key1 key2:批量获取

2.Hash

复制代码
  Hash为字段-值集合,同样类似于Java的Map,在实际场景中多用于存储用户的基本信息、商品的基本信息、订单的基本信息等。它的常用Redis命令:
  
  基本操作:
java 复制代码
HSET key field value:设置字段值
HGET key field:获取字段值
HDEL key field:删除字段
HEXISTS key field:检查字段是否存在
HGETALL key:获取所有字段和值
HKEYS key:获取所有字段名
HVALS key:获取所有值
复制代码
数值操作:
java 复制代码
HINCRBY key field increment:增加字段数值

3.List

复制代码
 List在Redis中是一个双向的链表,既可以从头部插入获取元素也可以从尾部插入获取元素,同时具备获取指定范围内元素的功能,在实际应用中多用于消息队列、排行榜等具有排行功能的场景。关于它的常用命令:
 基本操作:
java 复制代码
LPUSH key value:从左侧插入
RPUSH key value:从右侧插入
LPOP key:从左侧弹出
RPOP key:从右侧弹出
LLEN key:获取列表长度
LRANGE key start stop:获取指定范围元素
复制代码
阻塞操作:
java 复制代码
BLPOP key timeout:左侧阻塞弹出
BRPOP key timeout:右侧阻塞弹出

4.Set

复制代码
  Set集合在Java中其内部存储的元素是无序的且不可重复,在Redis中同样具有这些特性,同时Redis中的Set集合也提供了便捷的求集合交集、并集、差集的相关运算。它在实际中主要用于标签系统、去重,共同好友推荐等业务,下面介绍它的常用命令:
 基本操作:
java 复制代码
SADD key member:添加成员
SREM key member:删除成员
SMEMBERS key:获取所有成员
SISMEMBER key member:检查成员是否存在
SCARD key:获取集合大小
复制代码
集合运算:
java 复制代码
SINTER key1 key2:交集
SUNION key1 key2:并集
SDIFF key1 key2:差集

5.Zset

复制代码
 Zset也称作SortedSet,j即有序的集合,类似于Java中的TreeSet可以有序排列,与Set不同的是它其中的每个元素关联一个分数(score),score主要是用于排序。它的实际应用主要是在热搜排行榜、延迟任务(按时间戳排序)、根据某值查询信息,与Set相似,Zset同样具有求集合并集、交集、差集的运算。下面介绍一下它的常用命令:
 基本操作:
java 复制代码
ZADD key score member:添加成员(带分数)
ZREM key member:删除成员
ZRANGE key start stop [WITHSCORES]:按排名范围查询
ZREVRANGE key start stop [WITHSCORES]:按排名倒序查询
ZSCORE key member:获取成员分数
ZRANK key member:获取成员排名(升序)
ZREVRANK key member:获取成员排名(降序)
复制代码
范围查询:
java 复制代码
ZRANGEBYSCORE key min max:按分数范围查询
ZCOUNT key min max:统计分数范围内的成员数
复制代码
  以上便是Redis数据结构中常见的命令。
相关推荐
杨云龙UP2 分钟前
生产环境MySQL多实例XtraBackup全量备份与rsync异地自动传输实践
linux·运维·数据库·mysql·xtrabackup·主从复制·备份恢复
熊文豪11 分钟前
SQLServer数据迁移之后,那张报表还能不能秒出
数据库·sqlserver·电科金仓
JosieBook23 分钟前
【数据库】把数据优势转化为决策优势:TimechoAI时序大模型使用解析
数据库
会编程的吕洞宾1 小时前
MySQL 慢查询从5秒到50毫秒:索引失效六大场景定位与实战调优
数据库·mysql
浅念-1 小时前
MySQL 索引底层完整详解|磁盘Page|B+树推导|聚簇非聚簇索引|索引SQL操作
大数据·数据库·b树·sql·mysql·面试·职场和发展
小马过河R1 小时前
数据仓库入门:是什么、怎么做、和数据库有什么区别?
大数据·数据库·数据仓库·架构·驾驭工程·fde
小白勇闯网安圈2 小时前
Django Form 组件详解:从表单生成到 ModelForm 数据校验
数据库·django·sqlite
梦想不只是梦与想2 小时前
MySQL 数据库(二):数据类型
数据库·mysql·数据类型
野生技术架构师2 小时前
Redis 和 MySQL 如何保证数据一致性?先更新数据库还是先删缓存,延迟双删、MQ、Canal 一次讲透
数据库·redis·缓存
Devin~Y2 小时前
从内容社区到AI智能客服:Spring Boot + Spring Cloud + Spring AI 全栈实战面试拆解
java·spring boot·redis·elasticsearch·spring cloud·kafka·mybatis