Redis安装使用指南!最详细的Redis入门讲解
mhr18 2024-10-23 11:31 31 浏览 0 评论
Redis 是当今非常流行的基于 KV 结构的作为Cache 使用的 NoSQL数据库。学习Redis最好的方法就是动手尝试,在介绍Redis核心内容之前,本篇文章主要先来介绍一下Redis的安装和使用,以及Redis的基础知识。
视频观看效果更佳~~~戳
https://www.ixigua.com/6772338007803429387
Redis 介绍
Remote Dictionary Server(Redis)是一个开源的使用C 语言编写、支持网络、可基于内存亦可持久化的 Key-Value 数据库. Key 字符类型,其值(value)可以是字符串(String), 哈希(Map),列表(list), 集合(sets) 和有序集合(sorted sets)等类型,每种数据类型有自己的专属命令。所以它通常也被称为数据结构服务器。
Redis 的作者是 Antirez,来自意大利的西西里岛,现在居住在卡塔尼亚。目前供职于Pivotal 公司(Pivotal 是 Spring 框架的开发团队),Antirez 被称为 Redis 之父。
Redis的代码托管在GitHub上https://github.com/antirez/redis,开发十分活跃,代码量只有3万多行。
官网:https://redis.io/
中文:http://www.redis.cn/
Window 上安装 Redis
Windows 版本的 Redis 是 Microsoft 的开源部门提供的 Redis. 这个版本的 Redis 适合开发人员学习使用,生产环境中使用 Linux 系统上的 Redis
(1) 下载
官网:https://redis.io/
windows 版本:https://github.com/MSOpenTech/redis/releases
(2) 安装
下载的 Redis-x64-3.2.100.zip 解压后,放到某个目录(例如 d:\tools\),即可使用。目录结构:
(3) 启动
1. Windows7 系统双击 redis-server.exe 启动 Redis
2. Windows 10 系统
有的机器双击 redis-server.exe 执行失败,找不到配置文件,可以采用以下执行方式: 在命令行(cmd)中按如下方式执行:
D:\tools\Redis-x64-3.2.100>redis-server.exe redis.windows.conf
如图:
(4) 关闭
按 ctrl+c 退出Redis 服务程序。
Linux 上安装 Redis
(1) 安装
1. 上传 redis-4.0.13.tar.gz 到 linux 系统。使用 Xftp 工具
2. 解压 redis-4.0.13.tar.gz 到/usr/local 目录
3. 查看解压后的文件
切换目录 cd /usr/local
执行 ll
4. 安装 gcc 编译器
Redis 是使用 c 语言编写的。使用源文件安装方式,需要编译 c 源文件,会使用 gcc 编译器。
什么是 gcc ?
gcc 是 GNU compiler collection 的缩写,它是 Linux 下一个编译器集合(相当于 javac ),是c 或 c++程序的编译器。
使用yum进行安装gcc 。执行命令:yum -y install gcc
在解压后的 Redis 目录下执行(cd /usr/local/redis-4.0.13) make 命令。
5. 编译 redis 源文件
1) 开始执行 make
cd /usr/local/redis-4.0.13 再执行 make
如果 make 命令执行过程中出现错误:
error: jemalloc/jemalloc.h: No such file or directory
解决方式执行 make MALLOC=libc
2)执行 make 成功的标志
3)查看make编译结果,cd src目录
cd src 在执行 ls
(2) 启动 Redis
redis 安装目录下 redis.conf 是重要的配置文件,包含 redis 服务器的配置信息。启动redis 需要指定配置文件路径。
启动方式:
①前台启动 ./redis-server redis.conf 配置文件路径
②后台启动 ./redis-server redis.conf 配置文件路径 &
第①种 前台启动
启动 Redis 的服务器端:切换到 src 目录下执行redis-server 程序
或者使用全路径
redis 应用以前台的方式启动,不能退出当前窗口,退出窗口,应用终止。
在其他窗口查看redis 启动的进程
第②种 后台启动
src目录下执行 ./redis-server redis.conf配置文件路径 &
此时关闭窗口,查看redis进程,依然存在。
查看redis进程
(3) 关闭 Redis
关闭方式:
①使用 redis 客户端关闭,向服务器发出关闭命令
切换到 redis-4.0.13/src/ 目录,执行 ./redis-cli shutdown
推荐使用这种方式, redis 先完成数据操作,然后再关闭。
例如:
②kill pid 或者 kill -9 pid
这种不会考虑当前应用是否有数据正在执行操作,直接就关闭应用。先使用 ps -ef | grep redis 查出进程号,在使用 kill pid
Redis 客户端
Redis 客户端是一个程序,通过网络连接到 Redis 服务器,在客户端软件中使用 Redis 可
以识别的命令,向 Redis 服务器发送命令,告诉 Redis 想要做什么。Redis 把处理结果显示在客户端界面上。通过 Redis 客户端和 Redis 服务器交互。
Redis 客户端发送命令,同时显示 Redis 服务器的处理结果在。
redis 命令行客户端:
redis-cli(Redis Command Line Interface)是 Redis 自带的基于命令行的Redis 客户端,用于与服务端交互,我们可以使用该客户端来执行redis 的各种命令。
两种常用的连接方式:
1. 直接连接 redis (默认 ip127.0.0.1,端口 6379):./redis-cli
在 redis 安装目录/src,执行 ./redis-cli
此命令是连接本机 127.0.0.1 ,端口 6379 的 redis
2. 指定 IP 和端口连接 redis:./redis-cli -h 127.0.0.1 -p 6379
-h redis 主机 IP(可以指定任意的 redis 服务器)
-p 端口号(不同的端口表示不同的redis 应用)
在 redis 安装目录/src,执行 ./redis-cli -h 127.0.0.1 -p 6379
例 1:
redis 远程客户端
Redis Desktop Manager:C++ 编写,响应迅速,性能好。官网地址:https://redisdesktop.com/
点击“DOWNLOAD”
1. 安装客户端软件
在 Windows 系统使用此工具,连接 Linux 上或 Windows 上的 Redis , 双击此exe 文件执行安装
安装后启动界面:
使用客户端连接 Linux 的 Redis
连接Linux的Reids之前需要修改Redis服务器的配置信息。 Redis服务器有安全保护措施,默认只有本机(安装Redis的那台机器)能够访问。配置信息存放在Redis安装目录下的redis.conf文件。修改此文件的两个设置。
远程连接redis需要修改redis主目录下的redis.conf配置文件:
①. bind ip 绑定ip此行注释
②. protected-mode yes 保护模式改为 no
使用vim 命令修改redis.conf 文件,修改文件前备份此文件,执行 cp 命令
执行 vim redis.conf
3. 使用 redis.conf 启动 Redis
修改配置文件后,需要使用配置文件重新启动 Reids,默认不加载配置文件。先关闭已经启
动的 Redis ,使用以下命令启动 Redis 在 Redis 安装目录执行:
./redis-server ../redis.conf &
4. 关闭 Linux 系统的防火墙
linux 系统,命令行执行:systemctl stop firewalld
5. 配置 Redis Desktop Manamager(RDM),连接 Redis
在 RDM 的主窗口,点击左下的“Connect to Redis Server”
连接成功后:
redis 编程客户端
Jedis
redis 的 Java 编程客户端,Redis 官方首选推荐使用 Jedis,jedis 是一个很小但很健全的
redis 的 java 客户端。通过Jedis 可以像使用 Redis 命令行一样使用Redis。
- jedis 完全兼容redis 2.8.x and 3.x.x
- Jedis 源码:https://github.com/xetorthio/jedis
- api 文档:http://xetorthio.github.io/jedis/
redis 的其他编程语言客户端:
C 、C++ 、C# 、Erlang、Lua 、Objective-C、Perl 、PHP 、Python 、Ruby、Scala 、Go 等 40 多种语言都有连接redis 的编程客户端
Redis 基本操作命令
redis 默认为 16 个库 (在redis.conf 文件可配置,该文件很重要,后续很多操作都是这个配置文件) redis 默认自动使用 0 号库
(1) 沟通命令,查看状态
redis >ping 返回 PONG
解释:输入 ping,redis 给我们返回 PONG,表示 redis 服务运行正常
(2) 查看当前数据库中 key 的数目:dbsize
语法:dbsize
作用:返回当前数据库的 key 的数量。返回值:数字,key 的数量
例:先查索引 5 的 key 个数, 再查 0 库的 key 个数
(3) redis 默认使用 16 个库
Redis默认使用16个库,从0到15。 对数据库个数的修改,在redis.conf 文件中databases 16
(4) 切换库命令:select db
使用其他数据库,命令是 select index
例 1: select 5
(5) 删除当前库的数据:flushdb
(6) redis 自带的客户端退出当前 redis 连接:exit 或 quit
Redis 的Key 的操作命令
1. keys
语法:keys pattern
作用:查找所有符合模式 pattern 的 key. pattern 可以使用通配符。通配符:
- *:表示 0-多个字符,例如:keys * 查询所有的 key。
- ?:表示单个字符,例如:wo?d , 匹配 word , wood
例 1:显示所有的 key
例 2:使用 *表示 0 或多个字符
例 3:使用?表示单个字符
2. exists
语法:exists key [key…]
作用:判断key 是否存在
返回值:整数,存在 key 返回 1,其他返回 0.使用多个 key,返回存在的key 的数量。
例 1:检查指定 key 是否存在
例 2:检查多个 key
3. expire
语法:expire key seconds
作用:设置key 的生存时间,超过时间,key 自动删除。单位是秒。返回值:设置成功返回数字 1,其他情况是 0 。
例 1:设置红灯的倒计时是 5 秒
4. ttl
语法:ttl key
作用:以秒为单位,返回 key 的剩余生存时间(ttl: time to live) 返回值:
- -1 :没有设置 key 的生存时间, key 永不过期。
- -2:key 不存在
- 数字:key 的剩余时间,秒为单位
例 1:设置 redlight 的过期时间是 10,查看剩余时间
5. type
语法:type key
作用:查看key 所存储值的数据类型返回值:字符串表示的数据类型
- none (key 不存在)
- string (字符串)
- list (列表)
- set (集合)
- zset (有序集)
- hash (哈希表)
例 1:查看存储字符串的 key:wood
例 2:查看不存在的key
6. del
语法:del key [key…]
作用:删除存在的key,不存在的key 忽略。返回值:数字,删除的 key 的数量。
例 1:删除指定的 key
相关推荐
- 订单超时自动取消业务的 N 种实现方案,从原理到落地全解析
-
在分布式系统架构中,订单超时自动取消机制是保障业务一致性的关键组件。某电商平台曾因超时处理机制缺陷导致日均3000+订单库存锁定异常,直接损失超50万元/天。本文将从技术原理、实现细节、...
- 使用Spring Boot 3开发时,如何选择合适的分布式技术?
-
作为互联网大厂的后端开发人员,当你满怀期待地用上SpringBoot3,准备在项目中大显身手时,却发现一个棘手的问题摆在面前:面对众多分布式技术,究竟该如何选择,才能让SpringBoot...
- 数据库内存爆满怎么办?99%的程序员都踩过这个坑!
-
你的数据库是不是又双叒叕内存爆满了?!服务器监控一片红色警告,老板在群里@所有人,运维同事的电话打爆了手机...这种场景是不是特别熟悉?别慌!作为一个在数据库优化这条路上摸爬滚打了10年的老司机,今天...
- springboot利用Redisson 实现缓存与数据库双写不一致问题
-
使用了Redisson来操作Redis分布式锁,主要功能是从缓存和数据库中获取商品信息,以下是针对并发时更新缓存和数据库带来不一致问题的解决方案1.基于读写锁和删除缓存策略在并发更新场景下,...
- 外贸独立站数据库炸了?对象缓存让你起死回生
-
上周黑五,一个客户眼睁睁看着服务器CPU飙到100%——每次页面加载要查87次数据库。这让我想起2024年Pantheon的测试:Redis缓存能把WooCommerce查询速度提升20倍。跨境电商最...
- 手把手教你在 Spring Boot3 里纯编码实现自定义分布式锁
-
为什么要自己实现分布式锁?你是不是早就受够了引入各种第三方依赖时的繁琐?尤其是分布式锁这块,每次集成Redisson或者Zookeeper,都得额外维护一堆配置,有时候还会因为版本兼容问题头疼半...
- 如何设计一个支持百万级实时数据推送的WebSocket集群架构?
-
面试解答:要设计一个支持百万级实时数据推送的WebSocket集群架构,需从**连接管理、负载均衡、水平扩展、容灾恢复**四个维度切入:连接层设计-**长连接优化**:采用Netty或Und...
- Redis数据结构总结——面试最常问到的知识点
-
Redis作为主流的nosql存储,面试时经常会问到。其主要场景是用作缓存,分布式锁,分布式session,消息队列,发布订阅等等。其存储结构主要有String,List,Set,Hash,Sort...
- skynet服务的缺陷 lua死循环
-
服务端高级架构—云风的skynet这边有一个关于云风skynet的视频推荐给大家观看点击就可以观看了!skynet是一套多人在线游戏的轻量级服务端框架,使用C+Lua开发。skynet的显著优点是,...
- 七年Java开发的一路辛酸史:分享面试京东、阿里、美团后的心得
-
前言我觉得有一个能够找一份大厂的offer的想法,这是很正常的,这并不是我们的饭后谈资而是每个技术人的追求。像阿里、腾讯、美团、字节跳动、京东等等的技术氛围与技术规范度还是要明显优于一些创业型公司...
- mysql mogodb es redis数据库之间的区别
-
1.MySQL应用场景概念:关系型数据库,基于关系模型,使用表和行存储数据。优点:支持ACID事务,数据具有很高的一致性和完整性。缺点:垂直扩展能力有限,需要分库分表等方式扩展。对于复杂的查询和大量的...
- redis,memcached,nginx网络组件
-
1.理解阻塞io,非阻塞io,同步io,异步io的区别2.理解BIO和AIO的区别io多路复用只负责io检测,不负责io操作阻塞io中的write,能写多少是多少,只要写成功就返回,譬如准备写500字...
- SpringBoot+Vue+Redis实现验证码功能
-
一个小时只允许发三次验证码。一次验证码有效期二分钟。SpringBoot整合Redis...
- AWS MemoryDB 可观测最佳实践
-
AWSMemoryDB介绍AmazonMemoryDB是一种完全托管的、内存中数据存储服务,专为需要极低延迟和高吞吐量的应用程序而设计。它与Redis和Memcached相似,但具有更...
- 从0构建大型AI推荐系统:实时化引擎从工具到生态的演进
-
在AI浪潮席卷各行各业的今天,推荐系统正从幕后走向前台,成为用户体验的核心驱动力。本文将带你深入探索一个大型AI推荐系统从零起步的全过程,揭示实时化引擎如何从单一工具演进为复杂生态的关键路径。无论你是...
你 发表评论:
欢迎- 一周热门
-
-
Redis客户端 Jedis 与 Lettuce
-
高并发架构系列:Redis并发竞争key的解决方案详解
-
redis如何防止并发(redis如何防止高并发)
-
Java SE Development Kit 8u441下载地址【windows版本】
-
开源推荐:如何实现的一个高性能 Redis 服务器
-
redis安装与调优部署文档(WinServer)
-
Redis 入门 - 安装最全讲解(Windows、Linux、Docker)
-
一文带你了解 Redis 的发布与订阅的底层原理
-
Redis如何应对并发访问(redis控制并发量)
-
Oracle如何创建用户,表空间(oracle19c创建表空间用户)
-
- 最近发表
- 标签列表
-
- oracle位图索引 (74)
- oracle批量插入数据 (65)
- oracle事务隔离级别 (59)
- oracle主从同步 (56)
- oracle 乐观锁 (53)
- redis 命令 (83)
- php redis (97)
- redis 存储 (67)
- redis 锁 (74)
- 启动 redis (73)
- redis 时间 (60)
- redis 删除 (69)
- redis内存 (64)
- redis并发 (53)
- redis 主从 (71)
- redis同步 (53)
- redis结构 (53)
- redis 订阅 (54)
- redis 登录 (62)
- redis 面试 (58)
- redis问题 (54)
- 阿里 redis (67)
- redis的缓存 (57)
- lua redis (59)
- redis 连接池 (64)