我求ChatGPT带我玩Redis

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 我求ChatGPT带我玩Redis

前言

了不起最近发现,同事们都比较喜欢使用Redis来缓存数据,而且都是使用String来实现所有的缓存操作,对于其他数据结构使用的频率较少,所以今天了不起收集了一些常用的命令,让大家更熟悉Redis的操作。

Redis介绍

Redis是一个高性能的非关系型数据库,它支持多种数据结构,常见的有Strings、Lists、Sets、Hashes、Sorted sets五种数据结构,同时,Redis的所有操作命令都是原子性的。

Redis常用命令

Redis Strings

存储、检索字符串操作

> SET name Alice
OK
> GET name
"Alice"

计数器

> INCR age
(integer) 1
> INCRBY age 10
(integer) 11

使用场景

  • 缓存序列化后的对象信息,如存储JSON格式的对象
  • 计数器功能

Redis Lists

实现队列数据结构(先进先出)

> LPUSH queue 1
(integer) 1
> LPUSH queue 2
(integer) 2
> RPOP queue
"1"
> RPOP queue
"2"

实现栈数据结构(先进后出)

> LPUSH stack 1
(integer) 1
> LPUSH stack 2
(integer) 2
> LPOP stack
"2"
> LPOP stack
"1"

查询列表的长度

> LLEN stack
(integer) 0

使用场景

  • 用于异步队列,将需延迟处理的数据塞到列表中,采用一个线程定时拿列表中的数据进行处理
  • 依赖于栈或者队列的场景

Redis Sets

Redis Set集合是一个无序且唯一的字符串集合

存储字符串集合

> SADD user:1 100
(integer) 1
> SADD user:1 101
(integer) 1
> SADD user:1 102
(integer) 1
> SADD user:2 100
(integer) 1

检索集合是否包含某个字符串

> SISMEMBER user:1 100
(integer) 1
> SISMEMBER user:1 200
(integer) 0

检索两个集合的公共元素

> SINTER user:1 user:2
1) "100"

检索列表的长度

> SCARD user:1
(integer) 3

使用场景

  • 去重
  • 集合运算,例如交集、并集、差集

Redis Hashes

哈希表可以用于存储Key-Value形式的数据

存储一个User对象

> HSET user name Alice age 20 sex male
(integer) 3
> HGET user name
"Alice"
> HGETALL user
1) "name"
2) "Alice"
3) "age"
4) "20"
5) "sex"
6) "male"

获取哈希表中所有的Key

> HKEYS user
1) "name"
3) "age"
5) "sex"

获取哈希表中所有的值

> HVALS user
2) "Alice"
4) "20"
6) "male"

使用场景

  • 对象存储

Redis Sorted sets

有序集合不允许有重复的元素,是String类型的集合

构造一个排行榜

> ZADD code 1 php
(integer) 1
> ZADD code 2 go
(integer) 1
> ZADD code 3 java
(integer) 1
> ZADD code 4 go
(integer) 0
> ZRANGE code 0 10 WITHSCORES
1) "php"
2) "1"
3) "java"
4) "3"
5) "go"
6) "4"

使用场景

  • 排行榜功能

总结

以上是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
相关文章
|
6月前
|
存储 缓存 NoSQL
Redis的神奇之处:为什么它如此快速?【redis第三部分】
Redis的神奇之处:为什么它如此快速?【redis第三部分】
64 0
|
3月前
|
缓存 NoSQL 关系型数据库
Redis学习总结
Redis学习总结
37 1
|
6月前
|
存储 NoSQL Linux
Redis入门到通关之Redis5种网络模型详解
Redis入门到通关之Redis5种网络模型详解
103 1
|
6月前
|
存储 自然语言处理 NoSQL
Redis学习基础
【1月更文挑战第6天】 一、Redis介绍 二、Redis各种常用命令 1.Redis服务启动命令: 2.Redis通用命令 3.Redis字符串类型常用命令: 4.Redis哈希操作命令 5.Redis列表操作命令 6.Redis集合操作命令 7.Redis有序集合操作命令 三、Redis在JAVA中的使用步骤 1.Redis在JAVA中的配置 2.Redis在JAVA中的具体使用 1.字符串类型的使用 2.哈希类型的使用 3.列表类型的使用 4.集合类型的使用 5.有序集合类型的使用
60 8
|
6月前
|
存储 NoSQL Linux
【Redis入门】 —— 关于Redis的一点儿知识
【Redis入门】 —— 关于Redis的一点儿知识
|
NoSQL Linux Redis
|
存储 JSON 自然语言处理
Redis基础学习
Redis基础学习
87 0
|
NoSQL Java 数据库连接
redis排行榜学习
redis排行榜学习
79 0
|
存储 SQL 缓存
Redis学习(一)
Redis学习(一)
139 0
Redis学习(一)