1、Redis入门与安装配置

news2024/9/27 19:21:37

是什么?

Remote Dictionary Server(远程字典服务) 是完全开源的,使用ANSIC语言编写遵守BSD协议,是一个高性能的Key-Value数据库。提供了丰富的数据结构,例如String、Hash、List、Set、SortedSet等等。数据是存在内存中的,同时Redis支持事务、持久化、LUA脚本、发布/订阅、缓存淘汰、流技术等多种功能特性提供了主从模式、Redis Sentinel和Redis Cluster集群架构方案。

Redis从发布至今,已经有十余年的时光了,一直遵循着自己的命名规则:

版本号第二位如果是奇数,则为非稳定版本 如2.7、2.9、3.1

版本号第二位如果是偶数,则为稳定版本 如2.6、2.8、3.0、3.2

历史发布版本的源码:https://download.redis.io/releases/

能干嘛?

● 分布式缓存,挡在Mysql数据库之前的带刀侍卫(共用和配合使用,非竞争关系)

● 内存存储和持久化(RDB+AOF),redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务
● 高可用架构搭配
○ 单机
○ 主从
○ 哨兵
○ 集群
● 缓存穿透、击穿、雪崩
● 分布式锁
● 队列
● 排行榜加点赞
● …

优势

● 性能极高–Redis能读的速度是110000秒/次,写的速度是81000次/秒
● Redis数据类型丰富,不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储
● Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
● Redis支持数据的备份,即master-slave模式的数据备份
在这里插入图片描述

Redis7新特性
大体和之前的redis版本保持一致和稳定,主要是自身底层性能和资源利用率上的优化和提高。

在这里插入图片描述
2. Redis安装配置

1、Linux安装Redis安装Redis必须先具备gcc编译环境
(Redis是C语言开发,安装Redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc)

gcc -v                          #查看版本
yum -y install gcc-c++          #安装c++库环境
附:
安装gcc
gcc的安装很简单,首先要确保root登录,其次就是Linux要能连外网:

yum -y install gcc automake autoconf libtool make
 
 
注意:运行yum时出现/var/run/yum.pid已被锁定,
PID为xxxx的另一个程序正在运行的问题解决:

rm -f /var/run/yum.pid

2、通过命令行下载Redis

#查看系统多少位,返回是多少就是几位
getconf LONG_BIT

wget http://download.redis.io/releases/redis-7.0.0.tar.gz

3、/opt 目录下解压redis

mv redis-7.0.0.tar.gz /opt/

cd /opt

tar -zxvf redis-7.0.0.tar.gz && cd redis-7.0.0

4、编译安装,在redis-7.0.0目录下执行

make && make install 

查看redis版本的命令

redis-server -v

5、查看默认安装目录/usr/local/bin

cd /usr/local/bin && ls -l 
#redis-benchmark:性能测试工具,服务启动后运行该命令,看看自己本子性能如何
#redis-check-aof:修复有问题的AOF文件,rdb和aof后面讲
#redis-check-dump:修复有问题的dump.rdb文件
#redis-cli:客户端,操作入口
#redis-sentinel:redis集群使用
#redis-server:Redis服务器启动命令

6、将默认的redis.conf拷贝到自己定义好的一个路径下,比如/myredis

mkdir /myredis

cp /opt/redis-7.0.0/redis.conf /myredis/

7、修改/myredis目录下redis.conf配置文件做初始化设置

vim /myredis/redis.conf

redis.conf配置文件,改完后确保生效,记得重启,记得重启

守护进程,默认daemonize no 改为 daemonize yes

保护模式,默认protected-mode yes 改为 protected-mode no

默认bind 127.0.0.1 改为 直接注释掉(默认bind 127.0.0.1只能本机访问)或改成本机IP地址,否则影响远程IP连接

添加redis密码 改为 requirepass 你自己设置的密码 requirepass 123456

8、在/usr/local/bin目录下运行redis-server,启用/myredis目录下的

redis7conf

cd /usr/local/bin

redis-server /myredis/redis.conf

9、连接服务

redis-cli -a 设置的密码 -p 6379

[root@VM-4-17-centos bin]# redis-cli -a 123456 -p 6379 
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set k1 hellowrold
OK
127.0.0.1:6379> get k1
"hellowrold"

10、关闭服务

#单实例关闭

redis-cli -a 123456 shutdown 

#多实例关闭,指定端口号关闭

redis-cli -p 6379 shutdown

Warning: Using a password with ‘-a’ or ‘-u’ option on the command line interface may not be safe.

解决办法将标准错误去除即可,追加2>/dev/null,将标准错误丢弃即可,就没有烦人的警告了。

redis-cli -a 123456 2>/dev/null

Redis端口为啥是6379么?

Redis的默认端口是6379,是由手机键盘字母MERZ的位置决定的。MERZ在Antirez的朋友圈语言中是"愚蠢和傻B"的代名词,它源于意大利广告女郎Alessia Merz在电视节目上说了一堆愚蠢的话,redis之父对她有"特殊"印象,就给她弄成端口号了

Redis7卸载步骤
1、停止redis-server服务

pe -ef | grep redis


redis-cli shutdown

2、删除/usr/local/lib目录下与redis相关的文件

ls -l /usr/local/bin/redis-*

rm -rf /usr/local/bin/redis-*

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python爬虫-逆向实例小记-2

注意!!!!某数据网站逆向实例仅作为学习案例,禁止其他个人以及团体做谋利用途!!!! 案例分析 第一步:分析请求和响应内容。该网站任何一请求和内容都不可直接…

网站SEO优化的注意事项

SEO作为一种网络营销方式,高投入产出比是其优势所在。通过SEO优化为站点带来大量的主动搜索自然流量,对于企业主来说,是非常必要的。搜索引擎算法在不断发展,SEO技术也在不断发展。那么,如何能做好SEO呢?小…

投出去的简历无人问津,原因竟然在这……

近期收到了不少朋友的反馈说,失业半个月无人问津,放在前些年第二天开始面试有人找,或者是第二天入职了……,为啥明明不招人要挂着招人的岗位? 随着移动互联网的发展,Android市场的需求也在不断变化和升级。…

【springboot】—— 后端Springboot项目开发

后端Springboot项目开发 步骤1 先创建数据库,并在下面创建一个user表,插入数据,sql如下: CREATE TABLE user (id int(11) NOT NULL AUTO_INCREMENT COMMENT ID,email varchar(255) NOT NULL COMMENT 邮箱,password varchar(255)…

Turf.js:用于地理空间分析的 JavaScript 库

https://turfjs.org/ 处理和分析地理空间数据在许多应用程序和平台中发挥着至关重要的作用。如地图绘制、路径规划、基于位置的服务和地理空间分析。Turf.js 是一个专门为执行地理空间操作而开发的开源 JavaScript 库。在本文中,我将详细探讨 Turf.js ,…

Linux系统下列出库文件中的符号指令(nm)

文章目录 1 nm指令2 符号类型的含义3 简单示例 1 nm指令 nm是names的缩写, nm命令主要是用来列出某些文件中的符号(说白了就是一些函数和全局变量等)。 nm命令的输出包含三个部分: 1 符号值。默认显示十六进制,也可以…

SNMP 计算机网络管理 实验3(二)SNMP协议工作原理验证与分析

⬜⬜⬜ 🐰🟧🟨🟩🟦🟪(*^▽^*)欢迎光临 🟧🟨🟩🟦🟪🐰⬜⬜⬜ ✏️write in front✏️ 📝个人主页:陈丹宇jmu &am…

从零手写微前端qiankun框架【超详细万字长文】

项目创建 我们创建如图几个文件夹 main&#xff1a;主应用&#xff08;采用vue3作为技术栈&#xff09;react&#xff1a;子应用1vue2&#xff1a;子应用2vue3&#xff1a;子应用3service&#xff1a;服务端代码 vue2子应用&#xff1a; 我们在App.vue中写一点点东西 <t…

Java微服务金融项目智牛股-基础知识一(CAT链路监控)

CAT链路监控 背景&#xff1a;从单体架构到微服务架构的演变&#xff0c; 一个业务请求往往会流转多个服务&#xff0c; 大型互联网产品服务架构尤为复杂&#xff0c;腾讯的抢红包服务&#xff0c; 阿里的交易支付服务&#xff0c; 可能就流转成百上千个服务节点&#xff0c; 面…

HashMap夺命14问

1. HashMap的底层数据结构是什么&#xff1f; 在JDK1.7中和JDK1.8中有所区别&#xff1a; 在JDK1.7中&#xff0c;由”数组链表“组成&#xff0c;数组是HashMap的主体&#xff0c;链表则是主要为了解决哈希冲突而存在的。 在JDK1.8中&#xff0c;有“数组链表红黑树”组成。当…

【软考网络管理员】2023年软考网管初级常见知识考点(19)-防火墙与入侵检测系统IDS

涉及知识点 防火墙有哪些及其功能&#xff0c;防火墙的区域划分及工作模式&#xff0c;IDS是什么及其作用&#xff1f;入侵检测系统的分类及原理&#xff0c;软考网络管理员常考知识点&#xff0c;软考网络管理员网络安全&#xff0c;网络管理员考点汇总。 原创于&#xff1a;…

java.sql.Time 字段时区问题 Jackson 源码分析 意想不到的Time处理类

java.sql.Time 字段时区问题 系列文章目录 第一章 初步分析 第二章 Mybatis 源码分析 第三章 Jackson 源码分析 意想不到的Time处理类 文章目录 java.sql.Time 字段时区问题 系列文章目录前言Jackson 源码阅读1. 先找 JsonFormat.class 打断点一步步跟踪2. 跟踪进入实际处理类…

RTSP视频流相关的一些操作

播放rtsp camera 内容 端口554在网络通信中用于Real Time Streaming Protocol(RTSP)。 gst-launch-1.0 playbin urirtsp://admin:WANGfengtu1210.0.20.190:554/client0x gst-launch-1.0 playbin urirtsp://admin:WANGfengtu1210.0.20.61:554/client1xgst-launch-1.0 rtspsrc …

基于Arduino UNO的循迹小车

目录 1.analogWrite函数的使用 2.红外循迹模块介绍 3.循迹小车代码实现 4.实物示例 1.analogWrite函数的使用 用analogWrite来替换digitalWrite 说明 将一个模拟数值写进Arduino引脚。这个操作可以用来控制LED的亮度, 或者控制电机的转速. 在Arduino UNO控制器中&#…

关于二叉树的操作,详细操作与实现方法

树是数据结构中的重中之重&#xff0c;尤其以各类二叉树为学习的难点。在面试环节中&#xff0c;二叉树也是必考的模块。本文主要讲二叉树操作的相关知识&#xff0c;梳理面试常考的内容。一起来复习吧。 本篇针对面试中常见的二叉树操作作个总结&#xff1a; 前序遍历&#x…

Kubernetes(k8s)容器编排控制器使用

目录 1 Pod控制器1.1 Pod控制器是什么1.2 Pod和Pod控制器1.3 控制器的必要性1.4 常见的控制器1.4.1 ReplicaSet1.4.2 Deployment1.4.3 DaemonSet 2 ReplicaSet控制器2.1 ReplicaSet概述2.2 ReplicaSet功能2.2.1 精确反应期望值2.2.2 保证高可用2.2.3 弹性伸缩 2.3 创建ReplicaS…

专项练习12

目录 一、选择题 1、JavaScript中定义var a"40",var b7,则执行a%b会得到&#xff1f; 2、下面哪个选项中的对象与浏览列表有关&#xff08; &#xff09; 3、下面哪一个语句可以实现在jQuery中找到所有元素的同辈元素&#xff1f; 4、如何阻止IE和各大浏览器默认行为…

CVSS4.0将于2023年底正式发布

通用漏洞评分系统(CVSS)是一种流行的、标准化的方法&#xff0c;用于评估数字系统安全漏洞的严重程度。由事件反应和安全小组论坛(FIRST)开发&#xff0c;它为安全专业人员提供了评估和优先排序风险的一致方法。 目前的CVSS v3.0已经运行了十多年&#xff0c;但因其复杂性和灵…

Jenkins 持续集成:Linux 系统 两台机器互相免密登录

背景知识 我们把public key放在远程系统合适的位置&#xff0c;然后从本地开始进行ssh连接。 此时&#xff0c;远程的sshd会产生一个随机数并用我们产生的public key进行加密后发给本地&#xff0c;本地会用private key进行解密并把这个随机数发回给远程系统。 最后&#xf…

ModaHub魔搭社区:向量数据库MIlvus服务端配置(四)

目录 常见问题 常见问题 除了配置文件外&#xff0c;怎样可以判断我确实在使用 GPU 做搜索&#xff1f; 有以下三种方式&#xff1a; 使用 nvidia-smi 命令查看 GPU 使用情况。用 Prometheus 配置&#xff0c;详见 使用 Grafana 展示监控指标 > 系统运行指标。使用 Milv…