Redis 的快速介绍及其基本数据类型和操作(下)

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: Redis 是一个主要由开发者 Salvatore Sanfilippo(Antirez)开发的开源内存数据结构存储器,用于改进其网站的可伸缩性,可以用作数据库、缓存和消息代理等,可以在项目中结合着使用 Redis。

哈希类型

用来保存更复杂的结构化数据


  • HSET:设置哈希表字段
  • HMSET:设置哈希表多个字段
  • HGET:获取哈希表字段值,如 HGET 8000 ename
  • HMGET:获取多个哈希表字段值,如 HMGET 80000 ename job deptno
  • HGETALL:获取所有哈希表字段值
  • HKEYS:获取所有哈希表字段名
  • HLEN:哈希表中的字段数量
  • HEXISTS:判断哈希表是否存在某个字段
  • HVALS:获取哈希表中的所有字段值
  • HDEL:删除哈希表的字段
  • HINCRBY:让哈希表某个字段值加上指定的整数值,如 HINCRBY 8000 deptono 10
  • HINCRBYFLOART:让哈希表某个字段值加上指定的浮点数

列表类型

当我们需要向 VALUE 保存序列化的数据,可以使用列表类型

RPUSH dname 技术部 后勤部 售后部
LPUSH dname 秘书处
LSET dname 2 销售部
LRANGE dname 0 -1
  • RPUSH:在列表末尾新增值
  • LPUSH:在列表开头新增值
  • LLEN:获取列表长度
  • LINDEX:获取列表某个元素,如 lindex dname 0
  • LINSERT:在某个位置插入元素,如 linsert dname before 秘书处 董事会
  • LPOP:删除最左边的元素 LPOP dname
  • RPOP:删除列表最右边的元素 RPOP dname
  • LREM:删除列表某个元素,如
RPUSH employee Scott
RPUSH employee Jack
RPUSH employee Scott
LREM employee 1 Scott # 删除第一个Scott,不是指索引为一

集合类型

假如要求数据不允许重复,则可以使用集合类型。


集合操作

SADD empno 8000
SADD empno 8001
SADD empno 8002
SADD empno 8003 8004 8005
SMEMBERS empno


  • SADD:将给定值添加到集合
  • SCARD:获取集合长度,如: SCARD empno
  • SISMEMBER:判断是否含有某个元素,如 SISMENBER empno 8000
  • SREM:删除某个元素
  • SPOP:随机删除并返回集合的某个元素,如 SPOP empno
  • SRANDMEMBER:随机返回集合中的元素,如 SRANDMEMBER empno 5
  • SUNION:组合两个或多个集合并返回所有元素的列表
  • SMOVE:将成员从一个集合移动到另一个集合


关于集合的其他操作,可以点此处

有序集合

带有排序功能的集合,Redis 按照元素分数值排序

ZADD keyword 0 "han" 0 "jack ma" 0 "Andrew wu"
ZINCRBY keyword 1 "han"
ZINCRBY keyword 5 "jack ma"
ZINCRBY keyword 2 "Andrew wu"
ZREVRANGE key 0 -1


  • ZCARD:获取有序集合长度
  • ZCOUNT:查询某个分数值区间内的元素数量,如 ZCOUNT keyword 5 10
  • ZSCORE:查询元素的分数值
  • ZRANGE:获取有序集合的内容(升序),如 ZRANGE keyword 0 -1
  • ZREVRANGE:获取有序集合的内容(降序),如 ZREVRANGE keyword 0 -1
  • ZRANGEBYSCORE:获取分数值区间内的集合内容(升序),如
zrangebyscore keyword 5 10  # 5-10
zrangebyscore keyword 5 (10  # 大于等于5, 小于 10
zrangebyscore keyword 100000 +inf


  • ZREVRANGEBYSCORE:获取分数值区间内的集合内容(降序) zrevrangebyscore keyword 10 5
  • ZRANK:获取元素的升序排名(从 0 开始)zrank keyword "xx"
  • ZREVRANK:获取元素的降序排名(从 0 开始)
  • ZREM:删除有序集合中的元素 ZREM keyword "x" "y"
  • ZREMRANGEBYRANK:删除排名区间内的元素 zremrangebyrank keyword 0 2
  • ZREMRANGEBYSCORE:删除分数值区间内的元素 zremrangebyscore keyword 0 -3

zremrangebyscore keyword inf (5000)

总结

本文简要介绍了 Redis 的由来及特点、 Redis 的主要用途及其所用的公司,然后针对 Redis 的基本数据结构进行展示和常见命令,希望能对读者有帮助,以此查漏补缺。关于 Redis 更多的操作命令,可以查看官方文档。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
13小时前
|
存储 消息中间件 NoSQL
Redis数据类型详解:选择合适的数据结构优化你的应用
Redis数据类型详解:选择合适的数据结构优化你的应用
|
13小时前
|
存储 缓存 NoSQL
【Go语言专栏】Go语言中的Redis操作与缓存应用
【4月更文挑战第30天】本文探讨了在Go语言中使用Redis进行操作和缓存应用的方法。文章介绍了Redis作为高性能键值存储系统,用于提升应用性能。推荐使用`go-redis/redis`库,示例代码展示了连接、设置、获取和删除键值对的基本操作。文章还详细阐述了缓存应用的步骤及常见缓存策略,包括缓存穿透、缓存击穿和缓存雪崩的解决方案。利用Redis和合适策略可有效优化应用性能。
|
13小时前
|
NoSQL Java Redis
在Java中操作Redis
在Java中操作Redis
8 0
|
13小时前
|
SQL NoSQL Java
Redis数据类型 Hash Set Zset Bitmap HyperLogLog GEO
Redis数据类型 Hash Set Zset Bitmap HyperLogLog GEO
17 0
|
13小时前
|
存储 NoSQL 定位技术
Redis常用数据类型及常用命令
这些是Redis中常用的数据类型和命令。Redis还提供了许多其他命令和功能,用于数据存储、操作和查询。你可以根据需要选择适当的数据类型和命令来满足你的应用程序需求。
24 4
|
13小时前
|
存储 NoSQL 安全
java 中通过 Lettuce 来操作 Redis
java 中通过 Lettuce 来操作 Redis
java 中通过 Lettuce 来操作 Redis
|
13小时前
|
NoSQL 关系型数据库 Redis
数据管理DMS产品使用合集之要通过 DMS 登录到 RDS、DRDS 或 Redis,我该怎么操作
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
|
13小时前
|
存储 SQL NoSQL
Redis入门到通关之五大基本数据类型及其使用场景
Redis入门到通关之五大基本数据类型及其使用场景
17 0
|
13小时前
|
存储 NoSQL Redis
第十八章 Redis查看配置文件和数据类型
第十八章 Redis查看配置文件和数据类型
20 0
|
13小时前
|
JSON NoSQL Java
SpringDataRedis 操作 Redis,并指定数据序列化器
SpringDataRedis 操作 Redis,并指定数据序列化器
18 1