Redis的安装与启动

一、Linux环境安装&启动Redis

1. 安装步骤 

第一步:在官网下载好Redis安装包,上传到Linux中并进行解压到相应(如/opt/software/)目录中;(注意:完成了第二步后,即安装了C/C++语言编译器后,再进行解压,否则执行make编译命令时会报错有个目录没有!)

第二步:执行如下命令,安装C/C++语言编译器;(官网下载的Redis安装包是需要编译后才可以安装的,而Redis是用C/C++语言编写的,CentOS7是没有安装这两款编译器的,所以需要先安装这两款编译器)

yum -y install gcc gcc-c++

执行以上命令时,报错找不到镜像。以下为解决方案: 

(1)首先,根据百度AI给出的上面图片中的方法执行后,再执行上面安装编译器的命令还是报错,报错信息为:Cannot find a valid baseurl for repo: base/7/x86_64 ;

(2)然后,根据下面两篇文章的内容,又执行命令 ping 114.114.114.114 能ping通,说明电脑可以上网;再执行 nslookup www.baidu.com(或 ping www.baidu.com)发现无法解析或连接,说明是DNS配置的问题

(3)针对DNS配置问题的解决步骤依次为:

  • 进入目录 cd /etc/sysconfig/network-scripts/
  • 打开该目录下的文件并编辑 vi ifcfg-ens33
  • 新加一行,如下图:

        

  • 重启网络:systemctl restart network.service
  • 再次执行 ping www.baidu.com时,发现OK了。

最后再安装编译器就没问题了。

参考文章:

centos7 yum安装使用时提示 cannot find a valid baseurl for repo:base/7/x86_64 的解决方法(亲测有效☆)_cannot find a valid baseurl for repo: base/7/x86_6-CSDN博客


Linux 用yum安装软件提示 cannot find a valid baseurl for repo:base/7/x86_64 的解决方法_cannot find a valid baseurl for repo: base/7/x86_6-CSDN博客
 

安装好编译期之后,执行下面命令就可以查看到gcc的版本了。

gcc -v

第三步:进入已解压的Redis根目录下,执行make命令进行编译,当看到下图时表示编译成功;

    

第四步:还是在根目录下,执行make install命令进行安装,看到如下图片表示安装成功。

   

Redis的默认安装目录是/usr/local/bin,如下图。

通过执行echo $PATH 可以看到,/usr/local/bin目录是存在于该系统变量中的,这样这些命令就可以在任意目录中执行了。

另外,以下的图片“安装常见问题”来源于马士兵李瑾老师:

2. 启动

Redis有三种方法启动Redis:默认配置、带参数启动、配置文件启动。

1)默认配置启动

前台启动命令:.bin/redis-server

后台启动命令:nohup redis-server &

2)带参数启动

redis-server加上要修改配置名和值(可以是多对),没有设置的配置将使用默认配置,例如:如果要用6380作为端口启动Redis,那么可以执行:./redis-server --port 6380

3)配置文件启动(推荐)

生产环境用的这种。通常可以复制一下配置文件redis.conf,然后在这个文件中修改自己的配置。

# myredis-conf这个文件夹是新建的
[root@centos105 redis6]# cp redis.conf myredis-conf/

查看Redis进程是否启动的命令: 

4)配置文件属性解读&修改

# daemonize属性值由no改为yes,使Redis进程以守护进程方式运行
daemonize no# 指定 Redis 监听端口,默认端口为 6379
port 6379# 下面这行代码注释掉,protected-mode属性改为no,其他主机也能够访问了;或者设置为bind *
# bind 127.0.0.1 -::1
bind *# protected-mode默认是yes保护模式
protected-mode no# 通过requirepass这个属性可以设置访问Redis的密码,默认不需要密码
# requirepass foobared# 当客户端闲置多长时间后关闭连接(单位:秒),如果指定为0表示永远不超时
timeout 0# 配置日志的级别。共4个级别,由低到高依次为:debug/verbose/notice/warning
loglevel notice# 设置数据库的数量,默认是使用0号数据库
databases 16# 设置Redis可并发处理的客户端连接数量,默认是1万
# maxclients 10000# 设置内存使用的最大字节数。当达到内存限制时,将根据maxmemory-policy删除符合条件的key
# maxmemory <bytes># 移除内存的策略,共8种策略。noeviction表示不移除任何内容,只是在写操作时返回一个错误
# maxmemory-policy noeviction

将myredis-conf/redis.conf配置文件做以下修改后,使用配置文件启动: 

daemonize no
# bind 127.0.0.1 -::1
protected-mode no

[root@centos105 redis6]# redis-server myredis-conf/redis.conf

扩展:Redis key的8种移除策略 

  • volatile-lru -> Evict using approximated LRU, only keys with an expire set.(使用近似LRU算法移除key,仅用于设置了过期时间的key)
  • allkeys-lru -> Evict any key using approximated LRU.(使用近似LRU算法移除key,适用于所有类型的key)
  • volatile-lfu -> Evict using approximated LFU, only keys with an expire set.
  • allkeys-lfu -> Evict any key using approximated LFU.
  • volatile-random -> Remove a random key having an expire set.(移除任意设置了过期时间的key)
  • allkeys-random -> Remove a random key, any key.(随机移除一个key)
  • volatile-ttl -> Remove the key with the nearest expire time (minor TTL)
  • noeviction -> Don't evict anything, just return an error on write operations.

LRU:Least Recently Used(最近最少使用)
LFU:Least Frequently Used(最不常用)

3. 停止

使用如下命令进行停止:

redis-cli -p 6379 shutdown

二、Redis客户端的使用

Redis客户端也像MySQL客户端一样有多种分类:命令行客户端(redis-cli),图形界面客户端,Java代码客户端。下面介绍Java代码客户端和图形界面客户端。

2.1 Java代码客户端

其实就是一套操作Redis的API,其作用就像JDBC一样,所以Java代码客户端其实就是一个或多个jar包,提供了对Redis的操作接口。对Redis操作的API很多,如jdbc-redis、jredis等,但最常用的也是最有名的是Jedis。

2.2 图形界面客户端

(1)Redis Desktop Manager

该软件原来免费,从0.8.8版本后变为收费的。官网:https://resp.app/ 

原来的官网是 http://redisdesktop.com

(2)RedisPlus

开源免费的。官网:https://gitee.com/MaxBill/RedisPlus  

(3)RedisInsight (推荐)

Redis有两个网站,开源免费的是 https://redis.io,企业收费的是  https://redis.com。去收费的官网下载RedisInsight 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/286955.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI婚纱照走红抖音:实现“自己嫁自己”的奇幻体验!

近日&#xff0c;一款名为“情侣婚纱AI写真”的模板在抖音平台上迅速走红&#xff0c;吸引了大量用户关注。这款模板利用人工智能技术&#xff0c;让用户能够轻松制作出与自己结婚的婚纱照&#xff0c;实现“自己嫁自己”的奇幻体验。 AI-321 | 专注于AI工具分享的网站 AI工具…

【Java程序设计】【C00367】基于(JavaWeb)Springboot的粮仓管理系统(有论文)

TOC 博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过上千套毕业设计程序&#xff0c;博客中有上百套程序可供参考&#xff0c;欢迎共同交流学习。 项目简介 项目获取 &#x1f345;文末点击卡片…

【爬虫开发】爬虫从0到1全知识md笔记第2篇:requests模块,知识点:【附代码文档】

爬虫开发从0到1全知识教程完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;爬虫课程概要&#xff0c;爬虫基础爬虫概述,,http协议复习。requests模块&#xff0c;requests模块1. requests模块介绍,2. response响应对象,3. requests模块发送请求,4. request…

【C++重新认知】:泛型编程(模板编程)

一、什么是泛型编程 当我们设计函数或者类时&#xff0c;有时候需要对应不同数据类型编写相同的代码&#xff0c;这样的话不仅有代码冗余&#xff0c;而且更加的加大程序员开发事件&#xff0c;降低开发效率&#xff0c;因此泛型编程就是解决此类情况----不同的数据类型可以重…

关于在forEach循环中使用异步,造成forEach里面的函数还未执行完毕,外层的同步已经被执行的问题

使用 原生的 for循环替代forEach循环即可解决问题 1.实例代码&#xff1a; select_Father_comment_sql_res.forEach( (item) > {const Select_FId_children_sql util.format("Select *, \IFNULL(User.UserName,) as CommentUserName, \IFNULL(User.UserName,) as AtU…

代码随想录算法训练营Day35|LC860 柠檬水找零LC406 根据身高重建队列LC452 用最少数量的箭引爆气球

一句话总结&#xff1a;身高队列看起来不简单&#xff0c;实际上也很难。 原题链接&#xff1a;860 柠檬水找零 简单贪心思想即可。5元时加入cnt5&#xff0c;10元时cnt10&#xff0c;cnt5--&#xff0c; 20元时则优先找零10元再找零5元&#xff0c;这样最后判断是否在一次找零…

golang+vue微服务电商系统

golangvue微服务电商系统 文章目录 golangvue微服务电商系统一、项目前置准备二、项目简介三、代码GItee地址 golang、vue redis、mysql、gin、nacos、es、kibana、jwt 一、项目前置准备 环境的搭建 官方go开发工程师参考地址&#xff1a;https://blog.csdn.net/qq23001186/cat…

SpringBoot如何优雅的进行参数校验

一、传统参数校验 虽然往事不堪回首&#xff0c;但还是得回忆一下我们传统参数校验的痛点。 下面是我们传统校验用户名和邮箱是否合法的代码 if (username null || username.isEmpty()) {throw new IllegalArgumentException("用户名不能为空"); }if (isValidEmai…

Linux之文件管理与重定向

文件的管理 最开始说到过, 一个进程是可以打开多个文件的并且可以对这些文件做出不同的操作, 也就是说加载到内存中的文件可能存在多个. 操作系统要不要管理这些打开的文件呢? 当我们在程序里面打开多个文件时, 操作系统肯定是得对这些文件进行管理的, 而管理的本质就是对数…

【MySQL】存储过程、存储函数、触发器

目录 存储过程介绍技术背景存储过程的作用与优势存储过程跟自定义函数很像。它们的区别是&#xff1a; 存储过程的缺点存储过程的特性基本存储过程使用1.创建语法语法说明&#xff1a;使用案例1.创建获取新闻类别数量的存储过程2.创建获取指定新闻类别ID下新闻数量的存储过程 2…

【微服务-网关】SpringCloud GateWay核心技术

在前面的文章中我们介绍了微服务网关的基础知识&#xff0c;了解了什么是网关&#xff0c;网关有什么作用&#xff0c;以及市面上有哪些成熟的网关产品&#xff0c;最后了解了网关的配置技巧。通过上篇文章&#xff0c;大家应该可以在微服务架构中完成网关的基本配置。 但是&am…

2022 年甘肃省职业院校技能大赛 高职组 网络系统管理竞赛 网络构建模块试题

2022 年甘肃省职业院校技能大赛 高职组网络系统管理竞赛 网络构建模块试题 目 录 考试说明… 3 任务描述… 3 任务清单… 3 &#xff08;一&#xff09;基础配置… 3 &#xff08;二&#xff09;有线网络配置… 4 &#xff08;三&#xff09;无线网络配置… 6 &#xff08;四&a…

老大语录六 谈产品规划

老大语录六 谈产品规划 产品经理一个重要的职责就是做产品规划。它是考验产品经理对市场和需求的阅读能力,是决定一个产品在市场上跟竞争对手分出高下的必要条件,是最能体现产品经理水平的工作。 然而我们往往在执行过程中在这一步上做的并不是特别好。虽然很多企业都会容易建…

2024 年 5 款适用于 Linux 的参考文献管理软件

时间是宝贵的&#xff0c;因此如果某款软件能让您摆脱必须执行的日常繁琐任务&#xff0c;那么它就会派上用场。 参考文献管理工具就是此类软件的典型代表&#xff0c;只需点击几下就能自动格式化引文。学生、教育工作者、作家、科学家和研究人员一定会发现它们非常有用。 在…

NFTScan | 03.18~03.24 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期&#xff1a;2024.03.18~ 2024.03.24 NFT Hot News 01/ NFT 系列 NodeMonkes 地板价已超越 BAYC 3 月 18 日&#xff0c;据数据显示&#xff0c;NFT 系列 NodeMonkes 地板价已超越 Bored Ape Yacht …

9.2024

使用冒泡排序给{10 ,1,35,61,89,36,55}排序 代码&#xff1a; public class 第九题 {public static void main(String[] args) {int a[]{10,1,35,61,89,36,55};for (int i0;i<a.length-1;i){for (int j0;j<a.length-1;j){if (a[j]>a[j1]){int temp0;tempa[j];a[j]a[…

光致发光荧光量子产率测试光纤光谱仪

光致发光荧光量子产率测试系统是一种用于测量材料发光效率的高精度设备&#xff0c;它通过光致发光方法来确定样品的发射效率。光致发光荧光量子产率测试系统不仅提供了一种高效、可靠的测量手段&#xff0c;而且对于提升科学研究和工业应用中的发光材料性能具有重要作用。通过…

nacos集群搭建实战

集群结构图 初始化数据库 Nacos默认数据存储在内嵌数据库Derby中&#xff0c;不属于生产可用的数据库。官方推荐的使用mysql数据库&#xff0c;推荐使用数据库集群或者高可用数据库。 首先新建一个数据库&#xff0c;命名为nacos&#xff0c;而后导入下面的SQL&#xff08;直…

日常刷题之77-组合

题目 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案 提示&#xff1a;假设 n5,k3 就是需要组合出来&#xff0c;长度3且内容数据是在[1,n]这个区间内的所有可能得组合 同时一个组合里面内个数字只能出现一次&#…

日增500粉的全自动引流神器

全自动引流&#xff0c;采集曝光一体每天截流500&#xff0c;这是每个企业主和网红的终极梦想。今日&#xff0c;我将分享一套高效而可行的引流策略&#xff0c;帮助你实现这个目标。 我们需要理解&#xff0c;全自动引流并不意味着无人参与。相反&#xff0c;它仍需要你的参与…