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

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

Redis 简介

Redis 是一个主要由开发者 Salvatore Sanfilippo(Antirez)开发的开源内存数据结构存储器,用于改进其网站的可伸缩性,可以用作数据库、缓存和消息代理等,可以在项目中结合着使用 Redis。


Redis 有着丰富的数据结构、优秀的速度、齐全的功能,众多公司都在使用 Redis,它有着如下的特点:

  • 快速
  • NoSQL 数据库
  • 支持众多环境


Redis 是一个内存数据库,这意味着所有的数据都保存在内存中,而不是硬盘上(当然也支持硬盘的全量备份和增量备份)。内存的特点就是能够支持快速访问和快速搜索,但也受空间限制。


在数据库架构中,Redis 通常位于客户端和数据库之间,以减轻 NoSQL 数据库或应用程序的负载,减少缓存时的数据访问延迟。


image.png


Redis 的主要用途

  • 队列
  • 发布/订阅
  • 实时分析
  • 机器学习:为机器学习快速处理大量、多样和快速的数据
  • 地理空间处理
  • 排行榜/计数(也就是日常所见的热搜)
  • 会话缓存
  • 整页缓存


使用 Redis 的公司


image.png


Redis 使用与启动

网上有很多安装的教程,这里以 Mac 端为例,在安装完 Redis 服务器之后,就可以通过以下命令启动 Redis 服务器:

redis-server


并通过以下命令启动 redis-cli 客户端:

redis-cli -h 127.0.0.1 -p 6379


如图所示:

image.png


现在我们可以通过 Redis 的 PING 命令接受一条可选的消息作为参数,这个命令通常用于测试客户端和服务器之间的连接是否正常,如果用户以无参数形式执行这个命令,那么服务器在连接正常的情况下,将向客户端返回 PONG 作为回复:


image.png

127.0.0.1:6379> PING
PONGS

实际测试如下:

image.png


Redis 初步介绍工作完成,我们来看一下 Redis 都有哪些基本的数据结构机器常见操作。

Redis 的基本数据类型

  • 字符串
  • 哈希
  • 列表
  • 集合
  • 有序集合
  • HyperLogLog
  • 位图


本文将介绍前五种常见的数据结构,后续更多的类型在其他文章单独进行介绍和说明,常见的五种基本数据类型如下。

字符串

字符串(string)是 Redis 最基本的键值对类型,这种类型既可以保持普通文字,也可以保存序列化的二进制数据。


字符串类型会在数据库中把单独的一个键和单独的一个值关联起来,被关联的键和值既可以是普通的文字数据,也可以是图片、视频、音频、压缩文件等更为复杂的二进制数据。字符串类型最大可以存储 512M 数据。


字符串一些常见操作

  • SET 命令:为一个字符串设置相应的值,如 SET number "10086"
  • GET 命令:获取键对应的值
127.0.0.1:6379> SET number "10086"
OK
127.0.0.1:6379> GET number
"10086"
127.0.0.1:6379>
  • GETRANGE:获取截取字符串内容
  • STRLEN:获取字符串长度,如 STRLEN email
  • SETEX:设置带有过期时间(秒)的 KEY-VALUE,如  SETEX city 5 Beijing

秒杀活动 PSETEX 设置毫秒


  • MSET:设置多个 KEY-VALUE ,如 MSET username jack sex male age 24
  • MGET:获取多个 VALUE,如 MGET username sex age
  • APPEND: 用于在字符串结尾追加内容
  • INCR:数字自增加 1 ,如 INCR number
127.0.0.1:6379> INCR number
(integer) 10087
127.0.0.1:6379>
  • INCRBY:数字加上指定的整数值
  • INCRBYFLOAT:数字加上指定的浮点数
  • DECR:数字自增减一
  • DECBY:数字减去指定的整数值


这些命令,大家都可以自己在。 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
相关文章
|
10小时前
|
存储 消息中间件 NoSQL
Redis数据类型详解:选择合适的数据结构优化你的应用
Redis数据类型详解:选择合适的数据结构优化你的应用
|
10小时前
|
存储 缓存 NoSQL
【Go语言专栏】Go语言中的Redis操作与缓存应用
【4月更文挑战第30天】本文探讨了在Go语言中使用Redis进行操作和缓存应用的方法。文章介绍了Redis作为高性能键值存储系统,用于提升应用性能。推荐使用`go-redis/redis`库,示例代码展示了连接、设置、获取和删除键值对的基本操作。文章还详细阐述了缓存应用的步骤及常见缓存策略,包括缓存穿透、缓存击穿和缓存雪崩的解决方案。利用Redis和合适策略可有效优化应用性能。
|
10小时前
|
NoSQL Java Redis
在Java中操作Redis
在Java中操作Redis
8 0
|
10小时前
|
SQL NoSQL Java
Redis数据类型 Hash Set Zset Bitmap HyperLogLog GEO
Redis数据类型 Hash Set Zset Bitmap HyperLogLog GEO
17 0
|
10小时前
|
存储 NoSQL 定位技术
Redis常用数据类型及常用命令
这些是Redis中常用的数据类型和命令。Redis还提供了许多其他命令和功能,用于数据存储、操作和查询。你可以根据需要选择适当的数据类型和命令来满足你的应用程序需求。
23 4
|
10小时前
|
存储 NoSQL 安全
java 中通过 Lettuce 来操作 Redis
java 中通过 Lettuce 来操作 Redis
java 中通过 Lettuce 来操作 Redis
|
10小时前
|
NoSQL 关系型数据库 Redis
数据管理DMS产品使用合集之要通过 DMS 登录到 RDS、DRDS 或 Redis,我该怎么操作
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
|
10小时前
|
存储 SQL NoSQL
Redis入门到通关之五大基本数据类型及其使用场景
Redis入门到通关之五大基本数据类型及其使用场景
17 0
|
10小时前
|
存储 NoSQL Redis
第十八章 Redis查看配置文件和数据类型
第十八章 Redis查看配置文件和数据类型
20 0
|
10小时前
|
JSON NoSQL Java
SpringDataRedis 操作 Redis,并指定数据序列化器
SpringDataRedis 操作 Redis,并指定数据序列化器
18 1