Redis数据库的介绍、安装、数据结构、常用命令

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: Redis数据库的介绍、安装、数据结构、常用命令

1、 redis是什么呢?

redis是非关系型数据库(nosql),基于内存读写的数据库,采用key-value的方式存储数据

nosql: not noly sql ,没有表的SQL


在目前的企业开发中会用关系型数据库(Oracale+MySQL)+非关系型数据库(Redis 、MongoDB、Memcache)共同开发项目


为什么使用NoSQL

现在存在数据格式非常多样,不适合应用表格进行存储。

表格数据称之为 结构化数据

非表格数据称之为 半结构化 (kv json) 非结构化数据 音频 视频


Redis是基于内存读写的数据库,

硬盘读取速度 大约几百M

内存读取速度 大约 上千M

所以Redis相对来说是要比关系型数据库要快很多


Redis的应用场景:查询读取操作非常频繁的业务

例如:缓存


2、Redis的下载安装

Redis可从

https://redis.io/download

官网进行下载,有windows版和linux版,

都是下载直接解压就可使用

解压后的目录如下:

不过需要注意的是:

在windows系统上,我们要修改redis.windows.conf这个文件,将appendonly no改为appendonly yes

因为redis是忘往内存上面存储数据的,改完这个可以使数据直接同步到硬盘上。

而启动的时候也不要双击redis-server.exe进行启动,因为这样启动是不能加载到redis.windows.conf这个配置文件的,

所以启动的时候我们要在redis解压的目录下进入cmd,

输入:redis-server redis.windows.conf 启动redis服务

如图所示:

这样就启动了Redis服务,再双击redis-cli.exe就启动了Redis的客户端

Linux系统下启动Redis服务要进到解压目录的src下,

输入./redis-server …/redis.conf

进行启动,如图所示:

开启AOF持久化机制,(默认是关闭):

将redis.conf文件中 appendonly 改成 yes ,自动创建appendonly.aof,该文件存储的客户端执行过增删改操作的命令

设置远程连接及密码

1.注释掉bind 127.0.0.1;在地址前面加个#;
2.设置密码,在#requirepass foobared去掉#号变requirepass foobared;foobared是密码;
3.protected-mode 设置成no;修改后是protected-mode no;

3、Redis的数据结构、常用命令

redis数据库存储数据使用的key-value

key是string类型 value的数据结构支持5个string、set、sorted_set、list、hash


value最大占用空间 1GB

redis支持的数据结构比较丰富、对不同的数据结构,还拥有不同的操作命令


set、get、del

keys * 打印所有的key


基础命令 (key value)


keys *


命令的作用:显示redis中 所有的key

keys name* name后面可以有0—多个任意字符

keys name? name后面必须只存在一个字符


exists key

判断 key是否存在 若返回 1 则存在 0 不存在


del key

作用:删除 某一个key


help 命令

帮助命令


flushall 清空所有数据库中的内容


退出 exit|quit 退出redis的服务器

Redis中值是字符串类型 (String 数字)

set

用于设置 一个字符串类型的 key value


get

根据key获取值


mset

一次性设置多个 key value


mget

strlen

append

getrange 截取子串

getrange name 0 3

setex 设置一个key的存活有效期 (秒) psetex 作用与 setex 一致 但是毫秒

setnx

如果当前没有这个key的话 那么 setnx等价于 set命令

如果当前存在这个key的话 那么 setnx不起作用

decr 针对数字类型 做 -1操作 另外 desr key 数字 根据数字做减法操作

incr incrby incrbyfloat


应用场景:缓存查询结果(json或者序列化) 用户访问记录 例如:通过记录ip-访问次数来显示ip的访问

统计粉丝数、点击次数、点赞

Redis中值是set类型

c) List类型的数据操作的命令

i. lpush 栈式结构

lpush name suns[2]

lpush name xiaohei[1]

lpush name xiaowb[0]

ii. lpushx 如果操作的key不存在 则不起作用

如果操作的key存在 则等同于lpush

iii. rpush 操作的内容 等效 java List

第一个操作的元素 就放置在第一个位置

依次类推

应用场景:关注列表、消息队列

hash类型的数据操作的命令

zset (sorted_set)类型的数据操作的命令

7. Redis命令的补充部分

a) 只有set命令 可以操作 任意类型的数据


b) 注意Redis中会有数据库概念 默认存在16数据库 0 ---- 15


默认所使用的数据库 0 如果要选择使用别的数据库 select 编号


注意:不同数据库所创建的key 相互隔离 互补干扰的。通过flushall 清空的是所有数据库中的key. 清空当前的数据库 flushdb这个命令

如何该表Redis中对于数据库的支持呢?编辑 redis.conf


** expire相关命令 (促销 秒杀 手机验证码倒计时 排行榜 Cache)**

i. 在Redis创建key value 默认都是持久化的 永久保存。

ii. 可以通过expire 命令 指定 key 存活时间

expire key seconds


查看某一个key的存活时常

persist 作用 可以把 一个应用了expire命令key 再次转换持久化的key

expireat key unix 时间戳 毫秒数iii.

相关实践学习
基于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
目录
相关文章
|
9天前
|
NoSQL 关系型数据库 Redis
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
《docker高级篇(大厂进阶):1.Docker复杂安装详说》包括:安装mysql主从复制、安装redis集群
50 14
|
6天前
|
关系型数据库 MySQL 应用服务中间件
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
36 7
|
22天前
|
NoSQL 算法 Redis
docker高级篇(大厂进阶):安装redis集群
docker高级篇(大厂进阶):安装redis集群
89 24
|
15天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
144 7
|
19天前
|
NoSQL 应用服务中间件 API
Redis是如何建立连接和处理命令的
本文主要讲述 Redis 是如何监听客户端发出的set、get等命令的。
158 12
|
1月前
|
关系型数据库 MySQL Linux
MySQL数据库下载安装教程(Windows&Linux)
本文档详细介绍了MySQL的安装步骤,包括安装前的准备工作、下载安装包、Windows和Linux系统下的具体安装流程,以及如何配置MySQL服务、设置环境变量、启动服务和连接数据库等关键操作。
|
1月前
|
存储 消息中间件 缓存
Redis 5 种基础数据结构?
Redis的五种基础数据结构——字符串、哈希、列表、集合和有序集合——提供了丰富的功能来满足各种应用需求。理解并灵活运用这些数据结构,可以极大地提高应用程序的性能和可扩展性。
37 2
|
14天前
|
SQL Java 数据库连接
JDBC编程安装———通过代码操控数据库
本文,教你从0开始学习JBCD,包括驱动包的下载安装调试设置,以及java是如何通过JBDC实现对数据库的操作,以及代码的分析,超级详细
|
2月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第16天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括配置系统源、安装 SQL Server 2019 软件包以及数据库初始化,确保 SQL Server 正常运行。
|
2月前
|
缓存 NoSQL PHP
Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出
本文深入探讨了Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出。文章还介绍了Redis在页面缓存、数据缓存和会话缓存等应用场景中的使用,并强调了缓存数据一致性、过期时间设置、容量控制和安全问题的重要性。
46 5