第二十周: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数据结构中常见的命令。
相关推荐
山峰哥6 分钟前
数据库工程与SQL调优——从索引策略到查询优化的深度实践
数据库·sql·性能优化·编辑器
较劲男子汉18 分钟前
CANN Runtime零拷贝传输技术源码实战 彻底打通Host与Device的数据传输壁垒
运维·服务器·数据库·cann
java搬砖工-苤-初心不变23 分钟前
MySQL 主从复制配置完全指南:从原理到实践
数据库·mysql
山岚的运维笔记2 小时前
SQL Server笔记 -- 第18章:Views
数据库·笔记·sql·microsoft·sqlserver
roman_日积跬步-终至千里3 小时前
【LangGraph4j】LangGraph4j 核心概念与图编排原理
java·服务器·数据库
汇智信科3 小时前
打破信息孤岛,重构企业效率:汇智信科企业信息系统一体化运营平台
数据库·重构
野犬寒鸦3 小时前
从零起步学习并发编程 || 第六章:ReentrantLock与synchronized 的辨析及运用
java·服务器·数据库·后端·学习·算法
indexsunny4 小时前
互联网大厂Java面试实战:Spring Boot微服务在电商场景中的应用与挑战
java·spring boot·redis·微服务·kafka·spring security·电商
晚霞的不甘5 小时前
揭秘 CANN 内存管理:如何让大模型在小设备上“轻装上阵”?
前端·数据库·经验分享·flutter·3d
市场部需要一个软件开发岗位5 小时前
JAVA开发常见安全问题:纵向越权
java·数据库·安全