Redis数据库入门

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

什么是Redis?


Redis是一个额基于内存的key-value结构数据库

基于内存存储,读写性能高

适合存储热点数据

他存储的value类型比较丰富,也被称为结构化的NoSql数据库

NoSql,泛指非关系型数据库,是关系型数据库的补充

redis的应用场景:缓存,任务队列,消息队列,分布式锁


Redis的数据类型


Redis存储的是key-value型的数据,其中key是字符串类型。

value有五种常用的类型:字符串string,哈希hash,列表list,集合set,有序集合sorted set。


Redis常用命令


string


SET key value 设置指定key的值

GET key 获取指定key的值

SETEX key seconds value 设置指定的key值,并将key的过期时间设为seconds秒

SETNX key value 只有在key不存在时设置key的值


hash


redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象

常用命令:

HSET key field value  将哈希表key中的字段field的值设为value

HGET key field   获取存储在哈希表中的指定字段的值

HDEL key field    删除存储在哈希表中的指定字段

HKEYS key   获取哈希表中的所有字段

HVALS key   获取哈希表中的所有值

HGETALL key  获取哈希比表中指定key的所有字段和值


列表list


注:类似队列,先进先出

LPUSH key value1 [value2]  将一个或多个值插入到爹表头部

LRANGE key start stop   获取列表指定范围内的元素

RPOP key    移除并获取列表的最后一个元素

LLEN key    LLEN key  获取列表长度

BRPOP key1 [key2] timeout  BRPOP key1  [key2]  timeout

移除并获取列表的最后一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。


set


redis set是string类型的无序集合。集合成员是唯一的。

常用命令:

SADD key member1 [member2]  向集合添加一个或多个成员

SMEMBERS   key  返回集合中所有成员

SCARD key   获取集合的成员数

SINTAB key1 [key2]  返回给定集合的交集

SUNION key1 [key2]   返回给定集合的并集

SDIFF key1 [key2]   返回给定集合的差集

SREM key member1 [member2]  移除集合中的一个或多个成员


sorted-set


redis sorted-set有序集合是string类型元素的集合,没有重复成员。每个元素会关联一个double类型的分数(score)。redis正是通过分数来为集合中的成员进行从小到大排序。有序集合的成员是唯一,但是分数可以重复

常用命令:

ZADD key score1 member1 [score2 member2]  向集合添加一个或多个成员

ZRANGE key start stop [withscore]  通过索引区间返回有序集合中指定区间内的成员

ZINCRBY  key increment member  有序集合中指定成员的分数加上量increment

ZREM key member [member]  移除有序集合中一个或多个成员


通用命令


keys pattern      查找所有符合给定模式的key  

exists key        检查给定key是否存在

ttl key              返回key的剩余生存时间(TTL,time to live),以秒为单位

del key            该命令用于在key存在时删除key


在Java中使用redis


spring data redis中提供了一个高度封装的类:RedisTemplate,针对jedis客户端中大量的api进行了归类封装,将同一类型的操作封装为operation接口。

具体分类如下:

ValueOperations:   简单K-V操作

SetOperations      set类型数据操作

ZSetOperations    zset类型数据操作

HashOperations   针对map类型的数据操作

ListOperation        针对List类型的数据操作

相关实践学习
基于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
目录
相关文章
|
22天前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
41 4
SpringBoot入门(4) - 添加内存数据库H2
|
3月前
|
存储 SQL 分布式数据库
OceanBase 入门:分布式数据库的基础概念
【8月更文第31天】在当今的大数据时代,随着业务规模的不断扩大,传统的单机数据库已经难以满足高并发、大数据量的应用需求。分布式数据库应运而生,成为解决这一问题的有效方案之一。本文将介绍一款由阿里巴巴集团自主研发的分布式数据库——OceanBase,并通过一些基础概念和实际代码示例来帮助读者理解其工作原理。
311 0
|
24天前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
29 2
SpringBoot入门(4) - 添加内存数据库H2
|
16天前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
57 13
|
11天前
|
Java 数据库连接 测试技术
SpringBoot入门(4) - 添加内存数据库H2
SpringBoot入门(4) - 添加内存数据库H2
27 4
|
24天前
|
存储 人工智能 Java
Neo4j从入门到精通:打造高效知识图谱数据库 | AI应用开发
在大数据和人工智能时代,知识图谱作为一种高效的数据表示和查询方式,逐渐受到广泛关注。本文从入门到精通,详细介绍知识图谱及其存储工具Neo4j,涵盖知识图谱的介绍、Neo4j的特点、安装步骤、使用方法(创建、查询)及Cypher查询语言的详细讲解。通过本文,读者将全面了解如何利用Neo4j处理复杂关系数据。【10月更文挑战第14天】
90 6
|
1月前
|
缓存 NoSQL Java
springboot的缓存和redis缓存,入门级别教程
本文介绍了Spring Boot中的缓存机制,包括使用默认的JVM缓存和集成Redis缓存,以及如何配置和使用缓存来提高应用程序性能。
96 1
springboot的缓存和redis缓存,入门级别教程
|
1月前
|
存储 消息中间件 NoSQL
Redis 入门 - C#.NET Core客户端库六种选择
Redis 入门 - C#.NET Core客户端库六种选择
59 8
|
1月前
|
SQL 存储 数据管理
SQL数据库的使用指南:从入门到精通
随着信息技术的飞速发展,数据库已成为各类企业和组织不可或缺的一部分。作为最流行的数据库管理系统之一,SQL数据库广泛应用于各种场景,如数据存储、数据管理、数据分析等。本文将详细介绍SQL数据库的使用方法,帮助初学者快速入门,并帮助有经验的开发者深化理解。一、SQL数据库基础首先,我们需要理解SQL数
113 2
|
26天前
|
SQL 数据库
SQL数据库基础语法入门
[link](http://www.vvo.net.cn/post/082935.html)