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
相关文章:

Redis的安装与启动
一、Linux环境安装&启动Redis 1. 安装步骤 第一步:在官网下载好Redis安装包,上传到Linux中并进行解压到相应(如/opt/software/)目录中;(注意:完成了第二步后,即安装了C/C语言…...

WebGIS航线编辑器(无人机航线规划)
无人机航点、航线规划,实现全自动航点飞行作业及飞行航拍。禁飞区、作业区功能保障飞行安全。 GIS引擎加载 const viewer new Cesium.Viewer("cesiumContainer", { imageryProvider: new Cesium.IonImageryProvider({ assetId: 3872 }), }); const im…...
STEP 格式三维模型读取
STEP是常用的三维模型存储格式,使用Express语言描述几何图形,文件存储方式为BRep,分为STEP203和STEP214,后者多了颜色信息,opencascade中提供了相应算法读取STEP文件。 #include <STEPControl_Reader.hxx>TopoD…...

Mora: Enabling Generalist Video Generation via A Multi-Agent Framework
目录 论文地址:Mora: Enabling Generalist Video Generation viaA Multi-Agent Framework github地址:https://github.com/lichao-sun/Mora 一、摘要 (1)Mora 的主要特点: (2)Mora的应用场景…...
[c++] 自写 MyString 类
实现了 MyString 类,同时实现了运算符重载,重载的运算符包括 <、>、、!、<<、>>、[] 等。 如果一个类重载了某个运算符,那么对这个类的对象进行操作的时候便会使用类重载的运算符。比如下边代码 MyString 类中重载了 <、…...

三、阅读器开发--4、阅读器目录、全文搜索功能开发
1、阅读器目录 1.1、实现目录 先实现目录的布局 定义一个蒙版,充满整个屏幕浮在阅读器上方,左侧为目录右侧为背景,目录下方包含一个tab,点击后会切换不同的内容,这里tab是目录、书签,这里可以通过如下的…...

AMEYA360代理 | 江苏长晶科技FST2.0高性能 IGBT产品介绍
江苏长晶科技股份有限公司是一家专业从事半导体产品研发、生产和销售的企业。自2019年起,连续4年被中国半导体行业协会评为 “功率器件十强企业”。2021年开始自主研发有着“工业CPU”之称的IGBT,截至2023年Q3在家电/工业/新能源等行业实现8款产品市场应…...

基于springboot+vue+Mysql的网上图书商城
开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…...

阿里云服务器多少钱一个月?低至5元1个月
阿里云服务器一个月多少钱?最便宜5元1个月。阿里云轻量应用服务器2核2G3M配置61元一年,折合5元一个月,2核4G服务器30元3个月,2核2G3M带宽服务器99元12个月,轻量应用服务器2核4G4M带宽165元12个月,4核16G服务…...
LeetCode第五天(442. 数组中重复的数据)
给你一个长度为 n 的整数数组 nums ,其中 nums 的所有整数都在范围 [1, n] 内,且每个整数出现 一次 或 两次 。请你找出所有出现 两次 的整数,并以数组形式返回。 你必须设计并实现一个时间复杂度为 O(n) 且仅使用常量额外空间的算法解决此问…...
chatgpt正面案例合集
现在可以用百度 百度安全验证 chatgpt用来搜索软件使用指令太牛了_个人渣记录仅为自己搜索用的博客-CSDN博客 chatgpt 使用案例 根据不同的目标群体变更文案和表达_个人渣记录仅为自己搜索用的博客-CSDN博客 倾听能力 和哪些基础能力相关 ,如何提高 chatgpt_个人渣记录仅为自…...
今日讲讲路由配置
下载安装路由 1. 下载安装路由库 npm i vue-router 2. 在 src 中新建 views 文件夹,在其中新建页面 3. 在 src 中新建一个 router 文件夹,其中新建一个 index.js import { createRouter, createWebHashHistory } from vue-router; // 导入页面 imp…...
【Rust】Shared-State Concurrency
Shared-State Concurrency channel类似于single ownership. 而shared memory类似与multiple ownership. multiple ownership是难于管理的. smarter pointer也是multiple ownership的. Rust的type system和ownership rules帮助实现正确的multiple ownership管理。 Using Mute…...

连接数据库(MySQL)的JDBC
目录 JDBC简介快速入门API详解DriverManager(驱动管理类)注册驱动:获取数据库连接(对象): Connection(数据库连接对象)获取执行SQL的对象管理事务 Statement(执行SQL语句)执行DML、DDL语句执行DQL语句 Resu…...
golang通过参数控制HTTP server是否使用基本认证
之前写的《golang实现一个BasicAuth的HTTP server》一定会做基本认证。 本例给出了如何通过启动时候指定的参数来控制是否做基本认证 代码对比和解释 给出与上一篇中源码的diff adminhpc-1:~/go/auth_http$ diff -ruN http_rpc_server.go_bak http_rpc_server.go --- http_rp…...

javaSwing坦克大战游戏
在游戏开发领域,坦克大战是一款经典的游戏,其简单而又耐玩的玩法吸引了无数玩家。而今,在Java编程技术的支持下,我们可以用Java Swing技术轻松实现这款经典游戏。本文将介绍如何使用Java Swing技术编写坦克大战游戏,并…...

【面试题】数据底层原理:Elasticsearch写入流程解析
前言:本篇博客将介绍Elasticsearch的数据底层原理,涉及数据写入的过程以及相关概念。我们将深入探讨buffer、translog、refresh、commit、flush和merge等核心概念,帮助您更好地理解Elasticsearch的数据存储机制。 写入数据的基本过程 Elast…...
牛客论坛spring initializer选用的构件
spring版本:2.1.5.RELEASE java版本:8 pom文件: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-i…...

【Java程序设计】【C00385】基于(JavaWeb)Springboot的员工信息管理系统(有论文)
基于(JavaWeb)Springboot的员工信息管理系统 项目简介项目获取开发环境项目技术运行截图 博主介绍:java高级开发,从事互联网行业六年,已经做了六年的毕业设计程序开发,开发过上千套毕业设计程序,…...

【Linux进阶之路】理解UDP,成为TCP。
前言 学了TCP 和UDP之后,感觉UDP就像是初入职场的年轻人,两耳不闻 “窗外事”,只管尽力地把自己的事情做好,但收获的却是不可靠,而TCP更像是涉世极深的"职场老油条",给人的感觉就是 “城府极深&a…...

Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...