redis安装

2023-10-26

Redis安装说明

大多数企业都是基于Linux服务器来部署项目,而且Redis官方也没有提供Windows版本的安装包。因此课程中我们会基于Linux系统来安装Redis.

此处选择的Linux版本为CentOS 7.

Redis的官方网站地址:https://redis.io/

1.单机安装Redis

1.1.安装Redis依赖

Redis是基于C语言编写的,因此首先需要安装Redis所需要的gcc依赖:

yum install -y gcc tcl

1.2.上传安装包并解压

然后将课前资料提供的Redis安装包上传到虚拟机的任意目录:
下载地址 https://redis.io/download/

例如,我放到了/usr/local/src 目录:
在这里插入图片描述

解压缩:

tar -xzf redis-6.2.6.tar.gz

解压后:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

进入redis目录:

cd redis-6.2.6

运行编译命令:

make && make install

如果没有出错,应该就安装成功了。

默认的安装路径是在 /usr/local/bin目录下:

在这里插入图片描述

该目录以及默认配置到环境变量,因此可以在任意目录下运行这些命令。其中:

  • redis-cli:是redis提供的命令行客户端
  • redis-server:是redis的服务端启动脚本
  • redis-sentinel:是redis的哨兵启动脚本

1.3.启动

redis的启动方式有很多种,例如:

  • 默认启动
  • 指定配置启动
  • 开机自启

1.3.1.默认启动

安装完成后,在任意目录输入redis-server命令即可启动Redis:

redis-server

如图:

在这里插入图片描述

这种启动属于前台启动,会阻塞整个会话窗口,窗口关闭或者按下CTRL + C则Redis停止。不推荐使用。

1.3.2.指定配置启动(推荐)

如果要让Redis以后台方式启动,则必须修改Redis配置文件,就在我们之前解压的redis安装包下(/usr/local/src/redis-6.2.6),名字叫redis.conf:

在这里插入图片描述

我们先将这个配置文件备份一份:

cp redis.conf redis.conf.bck

然后修改redis.conf文件中的一些配置:

# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0
bind 0.0.0.0
# 守护进程,修改为yes后即可后台运行
daemonize yes 
# 密码,设置后访问Redis必须输入密码
requirepass 123321

Redis的其它常见配置:

# 监听的端口
port 6379
# 工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录
dir .
# 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
databases 1
# 设置redis能够使用的最大内存
maxmemory 512mb
# 日志文件,默认为空,不记录日志,可以指定日志文件名
logfile "redis.log"

启动Redis:

# 进入redis安装目录 
cd /usr/local/src/redis-6.2.6
# 启动
redis-server redis.conf

停止服务:

# 利用redis-cli来执行 shutdown 命令,即可停止 Redis 服务,
# 因为之前配置了密码,因此需要通过 -u 来指定密码
redis-cli -u 123321 shutdown

1.3.3.开机自启(推荐)

我们也可以通过配置来实现开机自启。

首先,新建一个系统服务文件:

vi /etc/systemd/system/redis.service

内容如下:

[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

然后重载系统服务:

systemctl daemon-reload

现在,我们可以用下面这组命令来操作redis了:

# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重启
systemctl restart redis
# 查看状态
systemctl status redis

执行下面的命令,可以让redis开机自启:

systemctl enable redis

2.Redis客户端

安装完成Redis,我们就可以操作Redis,实现数据的CRUD了。这需要用到Redis客户端,包括:

  • 命令行客户端
  • 图形化桌面客户端
  • 编程客户端

2.1.Redis命令行客户端

Redis安装完成后就自带了命令行客户端:redis-cli,使用方式如下:

redis-cli [options] [commonds]

其中常见的options有:

  • -h 127.0.0.1:指定要连接的redis节点的IP地址,默认是127.0.0.1
  • -p 6379:指定要连接的redis节点的端口,默认是6379
  • -a 123321:指定redis的访问密码

其中的commonds就是Redis的操作命令,例如:

  • ping:与redis服务端做心跳测试,服务端正常会返回pong

不指定commond时,会进入redis-cli的交互控制台:

在这里插入图片描述

2.2.图形化桌面客户端

GitHub上的大神编写了Redis的图形化桌面客户端,地址:https://github.com/uglide/RedisDesktopManager

不过该仓库提供的是RedisDesktopManager的源码,并未提供windows安装包。

在下面这个仓库可以找到安装包:https://github.com/lework/RedisDesktopManager-Windows/releases

在这里插入图片描述

2.2.1.安装

解压缩后,运行安装程序即可安装:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

此处略。

安装完成后,在安装目录下找到rdm.exe文件:

在这里插入图片描述

双击即可运行:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.2.2.建立连接

点击左上角的连接到Redis服务器按钮:

在这里插入图片描述

在弹出的窗口中填写Redis服务信息:
在这里插入图片描述

点击确定后,在左侧菜单会出现这个链接:

在这里插入图片描述

点击即可建立连接了:
在这里插入图片描述

Redis默认有16个仓库,编号从0至15. 通过配置文件可以设置仓库数量,但是不超过16,并且不能自定义仓库名称。

如果是基于redis-cli连接Redis服务,可以通过select命令来选择数据库:

# 选择 0号库
select 0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

redis安装 的相关文章

  • Node Js:Redis 作业在完成其任务后未完成

    希望你们做得很好 我在我的 Nodejs 项目中实现了 BullMQ Bull 的下一个主要版本 来安排发送电子邮件的作业 例如 发送忘记密码请求的电子邮件 所以 我编写了如下所示的代码 用户服务 await resetPasswordJo
  • 如何在Redis中从hmset()切换到hset()?

    我收到弃用警告 即 Redis hmset 已弃用 请改用 Redis hset 但是 hset 采用第三个参数 我不知道是什么name应该是 info users 10 timestamp datetime utcnow strftime
  • 有没有办法用Lettuce自动发现Redis集群中新的集群节点IP

    我有一个Redis集群 3主3从 运行在一个库伯内斯簇 该集群通过Kubernetes 服务 Kube 服务 我将我的应用程序服务器连接到 Redis 集群 使用Kube 服务作为 URI 通过 Redis 的 Lettuce java 客
  • Spring Data JPA Redis:无法编写基于自定义方法的查询

    我已经使用 Redis 配置了 Spring Data JPA 并使用RedisRepositorieswith 提供了类似的方法find findAll 所有这些方法似乎都工作得很好 但我无法编写我的自定义方法 RedisEntity f
  • 有没有办法让特定的key在集群模式下定位到特定的redis实例上?

    我想让我的多锁位于不同的redis实例上 我发现redission可以指定一个实例来执行命令 但是如果该命令与key相关 则指定的实例会将命令传输到另一个实例 你能给我一些建议吗 你可以 但这并不是微不足道的 首先 Redis 在键中使用大
  • 使用 Celery 通过 Gevent 进行实时、同步的外部 API 查询

    我正在开发一个 Web 应用程序 该应用程序将接收用户的请求 并且必须调用许多外部 API 来编写对该请求的答案 这可以直接从主 Web 线程使用 gevent 之类的东西来扇出请求来完成 或者 我在想 我可以将传入的请求放入队列中 并使用
  • StackExchange.Redis Get 函数抛出 TimeoutException

    我在用着StackExchange Redis与 C 和StackExchangeRedisCacheClient Get函数抛出以下异常 myCacheClient Database StringGet txtKey Text myCac
  • redis dump.rdb / 保存小文件

    Context 我正在使用redis 数据库小于 100 MB 但是 我想进行每日备份 我也在 Ubuntu Server 12 04 上运行 当输入 redis cli save 我不知道 dump rdb 保存到哪里 因为 redis
  • 想要在后台不间断地运行redis-server

    我已经下载了 redis 2 6 16 tar gz 文件并安装成功 安装后我运行 src redis server 它工作正常 但我不想每次都手动运行 src redis server 而是希望 redis server 作为后台进程持续
  • Amazon Elasticache Redis 集群 - 无法获取端点

    我需要获取 Amazon Elasticache 中 Redis 集群的终端节点 以下代码适用于 Memcached 集群 但不适用于 Redis import com amazonaws auth AWSCredentials impor
  • 在 Spring 4 中干掉通用的 RedisTemplate

    我读到你可以拥有 Autowired从 Spring 4 开始泛型 这太棒了 我有一个摘要RedisService我想参加的课程 Autowired一个通用的 RestTemplate 如下所示 public abstract class
  • 如何使用redis发布/订阅

    目前我正在使用node js和redis来构建应用程序 我使用redis的原因是因为发布 订阅功能 该应用程序只是在用户进入用户或离开房间时通知经理 function publishMsg channel mssage redisClien
  • Laravel Redis 配置

    我目前正在使用 Laravel 和 Redis 创建一个应用程序 几乎一切都工作正常 我按照文档中的说明扩展了身份验证 用户可以订阅 登录 注销 我可以创建内容 所有内容都存储在 Redis 中 但我有一个问题 我无法运行 php arti
  • 超出 Redis 连接/缓冲区大小限制

    在对我们的应用程序服务器进行压力测试时 我们从 Redis 中得到以下异常 ServiceStack Redis RedisException 无法连接到 redis host 6379 处的 redis 实例 gt System Net
  • 在redis中存储多个嵌套对象

    我想在redis中存储多个复杂的json数据 但不知道如何 这是我的 json 结构 users user01 username ally email email protected cdn cgi l email protection u
  • 在 Redis 中存储 IP 范围

    我有很多不同提供商的 IP 范围 例如 P1 192 168 1 10 192 168 1 50 192 168 2 16 192 168 2 49 P2 17 36 15 34 17 36 15 255 P3 我将此 IP 转换为 int
  • spring中如何使用jackson代替JdkSerializationRedisSerializer

    我在我的一个 Java 应用程序中使用 Redis 并且正在序列化要存储在 Redis 中的对象列表 但是 我注意到使用 RedisTemplate 会使用 JdkSerializationRedisSerializer 相反 我想使用 J
  • 为什么Redis SET性能优于GET?

    根据Redis基准 http redis io topics benchmarkss Redis 可以执行 100 000 SET 操作 秒和 80 000 GET 操作 秒 Redis 是一种内存数据库 这似乎令人惊讶 因为通常人们会认为
  • Spring-boot中将redis-cache反序列化为对象的问题

    我在 Client 类中使用 JsonNode 来处理 MySQL 8 数据库中 JSON 类型的字段 即使对于 API 请求 它也能很好地工作 但是当我使用 Redis 启用缓存 我确实需要它 时 我注意到 Redis 无法序列化 Jso
  • 如果 Redis 已经是堆栈的一部分,为什么 Memcached 仍然与 Redis 一起使用?

    Redis 可以执行 Memcached 提供的所有操作 LRU 缓存 项目过期以及现在版本 3 x 中的集群 目前处于测试阶段 或通过 twemproxy 等工具执行 性能也类似 此外 Redis 增加了持久性 因此您无需在服务器重新启动

随机推荐

  • 基于C语言的UDP聊天室项目——网络编程(含源码)

    一 UDP网络编程 准备阶段 1 1项目要求 利用UDP协议 实现一套聊天室软件 服务器端记录客户端的地址 客户端发送消息后 服务器群发给各个客户端软件 1 2实现功能 登录 服务器存储新的客户端的地址 把某个客户端登录的消息发给其它客户端
  • spring 通配符 匹配

    做了一个权限管理系统 需要通过通配符来过滤请求url 在网上找了半天没有找到 后来想到spring本身就带有这个功能 通过查询最终找到了方法 使用该方法 需要引入spring core包 Test public void regexSpri
  • 获取当前日期并给当前日期增加天数 年数 月数

    获取当前时间的 day 用int来保存 Date data order getOrderTime Calendar calendar Calendar getInstance calendar setTime data int i cale
  • 广电大数据用户画像及营销推荐策略(二)——Python实现

    本次大数据项目数据及分析均做脱敏化和保密化 主要分享思路体系 全程用Python实现 数据和代码均不提供 如有建议欢迎讨论 2 数据准备 由于数据中用户收视行为信息数据记录很大 如果对数据不进行分类处理 对所有记录直接采用推荐系统进行推荐
  • 强大的pyquery解析器详解

    在本文中博主将介绍pyquery的知识点 如果你认为BeautifulSoup这个CSS选择器不是那么强大 来认识一下pyquery的强大吧 个人认为BeautifulSoup是一个比较的老的库 已经很久没有更新了 但是现在市面上大多都是B
  • Mac OS X のキーボードショートカット

    概要 記事 Mac OS X 一般的 紹介 使 上 組 合 同時 押 Mac OS X 機能 呼 出 操作 利用 修飾 文字 同時 押 現在選択 範囲 貼 付 command 刻印 C 同時 押 操作 command C 呼 修飾 多数 組
  • Linux LVM 管理测试

    理论基础可参考 https linux cn article 12670 1 html 测试中使用loop设备模拟硬盘 测试添加 扩容 移除等操作 初始化脚本 创建并挂在4个loop设备 模拟4块硬盘 for i in 1 5 do dd
  • DR-CAN的动态系统建模与分析学习笔记(9)一阶系统的频率响应_低通滤波器-Matlab/Simulink分析

    1 2 截止频率的推导 截止频率 当保持输入信号的幅度不变 改变频率使输出信号降至最大值的0 707倍 此时的即为截止频率 它是用来说明频率特性指标的一个特殊频率 3 低通滤波器 积分的拉氏变换是1 s 所以
  • 【Kubernetes系列】工作负载资源之DaemonSet

    文章目录 概述 前提条件 DaemonSet配置 创建 DaemonSet 必需字段 Pod 模板 Pod 选择算符 仅在某些节点上运行 Pod 调度Daemon Pods 通过默认调度器调度 污点和容忍度 与 Daemon Pods 通信
  • 第一章 数据库架构发展历程

    1 架构1 0 单机单库 一个简单的小型网站或者应用背后的架构可以非常简单 数据存储只需要一个mysql instance就能满足数据读取和写入要求 这里忽略数据备份的实例 处于这个阶段的系统 一般会把所有信息存到一个Mysql insta
  • PAT

    1045 快速排序 25分 著名的快速排序算法里有一个经典的划分过程 我们通常采用某种方法取一个元素作为主元 通过交换 把比主元小的元素放到它的左边 比主元大的元素放到它的右边 给定划分后的 N 个互不相同的正整数的排列 请问有多少个元素可
  • H - Unloaded Die

    H Unloaded Diehttps vjudge csgrandeur cn problem Gym 101652U题意 给一个筛子 六个面1 2 3 4 5 6 输入每个面的概率 求更改某个数使期望等于3 5 同时使数据变化尽可能小
  • unity Input.GetTouch

    触摸交互案例 Input GetTouch 0 deltaPosition 获取触摸滑动增量 float num Input GetTouch 0 deltaPosition y 0 003f 使用y值增量例子 其他 单指点击 using
  • Eclipse + Struts2.x+Spring2.x+Dwr3.x

    我了解过官网关于 dwr3 的介绍后 发现它介绍的配置 dwr 的方法不是与 spring 结合的 也就是说每次进行 dwr 访问 系统都会重新 new 一个 service 来异步处理我们的请求 这对于简单的功能是没什么问题的 但如果涉及
  • 事务的理解

    事务是恢复和 并发控制的基本单位 事务应该具有4个属性 原子性 一致性 隔离性 持久性 这四个属性通常称为 ACID特性 原子性 atomicity 一个事务是一个不可分割的工作单位 事务中包括的诸操作要么都做 要么都不做 一致性 cons
  • Git同时push到Gitee和Github仓库 与 Github对密码认证的支持于2021年8月13日被删除

    目录 Git同时push到Gitee和Github仓库 Github对密码认证的支持于2021年8月13日被删除 Git同时push到Gitee和Github仓库 修改 git confit 文件 如下 然后就可以一条push命令让Gite
  • ROI Pooling和ROI Align、ROI Warp解析

    文中很多内容来源于其他博客 较为详细 有需要可直接按目录跳选到自己需要的部分 目录 简单介绍 实验比较 ROI理解 ROI Pooling ROI Pooling理解 ROI Pooling example ROI Pooling局限性 R
  • list 列表单(多)选(uni-app)

  • 解决vue中v-model绑定的变量赋值给了另一个变量后,两个变量同时改变

    先来看一下问题背景 我们要做一个 搜索 分页 的功能 使用vue 我们将分页控件绑定了点击事件 点击后提交v model绑定的formData表单 但是我们忽略了一个问题 就是当输入的信息改变的情况下 不点击搜索 直接点击分页控件 提交的将
  • redis安装

    Redis安装说明 大多数企业都是基于Linux服务器来部署项目 而且Redis官方也没有提供Windows版本的安装包 因此课程中我们会基于Linux系统来安装Redis 此处选择的Linux版本为CentOS 7 Redis的官方网站地