Redis数据库入门

本文涉及的产品
云原生内存数据库 Tair,内存型 2GB
云数据库 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
目录
相关文章
|
1月前
|
SQL NoSQL Oracle
IT入门知识第四部分《数据库》(4/10)(二)
IT入门知识第四部分《数据库》(4/10)(二)
25 0
|
1月前
|
存储 SQL 关系型数据库
IT入门知识第四部分《数据库》(4/10)(一)
IT入门知识第四部分《数据库》(4/10)(一)
37 0
|
1天前
|
SQL 存储 NoSQL
Redis6入门到实战------ 一、NoSQL数据库简介
这篇文章是关于NoSQL数据库的简介,讨论了技术发展、NoSQL数据库的概念、适用场景、不适用场景,以及常见的非关系型数据库。文章还提到了Web1.0到Web2.0时代的技术演进,以及解决CPU、内存和IO压力的方法,并对比了行式存储和列式存储数据库的特点。
Redis6入门到实战------ 一、NoSQL数据库简介
|
1天前
|
NoSQL 算法 安全
Redis6入门到实战------ 四、Redis配置文件介绍
这篇文章详细介绍了Redis配置文件中的各种设置,包括单位定义、包含配置、网络配置、守护进程设置、日志记录、密码安全、客户端连接限制以及内存使用策略等。
Redis6入门到实战------ 四、Redis配置文件介绍
|
1天前
|
NoSQL Redis 数据安全/隐私保护
Redis6入门到实战------ 二、Redis安装
这篇文章详细介绍了Redis 6的安装过程,包括下载、解压、编译、安装、配置以及启动Redis服务器的步骤。还涵盖了如何设置Redis以在后台运行,如何为Redis设置密码保护,以及如何配置Redis服务以实现开机自启动。
Redis6入门到实战------ 二、Redis安装
|
1天前
|
NoSQL Java Redis
Redis6入门到实战------思维导图+章节目录
这篇文章提供了Redis 6从入门到实战的全面学习资料,包括思维导图和各章节目录,涵盖了NoSQL数据库、Redis安装配置、数据类型、事务、持久化、主从复制、集群等核心知识点。
Redis6入门到实战------思维导图+章节目录
|
1天前
|
SQL XML Java
Spring5入门到实战------12、使用JdbcTemplate操作数据库(增删改查)。具体代码+讲解 【上篇】
这篇文章是Spring5框架的实战教程,详细讲解了如何使用JdbcTemplate进行数据库的增删改查操作,包括在项目中引入依赖、配置数据库连接池、创建实体类、定义DAO接口及其实现,并提供了具体的代码示例和测试结果,最后还提供了完整的XML配置文件和测试代码。
Spring5入门到实战------12、使用JdbcTemplate操作数据库(增删改查)。具体代码+讲解 【上篇】
|
1天前
|
NoSQL 安全 Java
Redis6入门到实战------ 三、常用五大数据类型(字符串 String)
这篇文章深入探讨了Redis中的String数据类型,包括键操作的命令、String类型的命令使用,以及String在Redis中的内部数据结构实现。
Redis6入门到实战------ 三、常用五大数据类型(字符串 String)
|
1天前
|
NoSQL 关系型数据库 Redis
Redis6入门到实战------ 九、10. Redis_事务_锁机制_秒杀
这篇文章深入探讨了Redis事务的概念、命令使用、错误处理机制以及乐观锁和悲观锁的应用,并通过WATCH/UNWATCH命令展示了事务中的锁机制。
Redis6入门到实战------ 九、10. Redis_事务_锁机制_秒杀
|
1天前
|
NoSQL Java Redis
Redis6入门到实战------ 八、Redis与Spring Boot整合
这篇文章详细介绍了如何在Spring Boot项目中整合Redis,包括在`pom.xml`中添加依赖、配置`application.properties`文件、创建配置类以及编写测试类来验证Redis的连接和基本操作。
Redis6入门到实战------ 八、Redis与Spring Boot整合