【Redis系列】Redis安装与使用

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等
    • 常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

    • 一.Redis 介绍
      • 1.什么是 Redis?
      • 2.Redis 的特性?
      • 3.Redis 的优点有哪些?
      • 4.Redis 客户端工具
    • 二.安装使用
      • 1.安装 redis
      • 2.配置文件
      • 3.bin 目录
      • 4.启动 redis
      • 5.停掉服务
      • 6.卸载 redis

一.Redis 介绍

1.什么是 Redis?

Redis(Remote Dictionary Server)是一个开源的内存数据库,它提供了高性能和持久化存储。Redis 支持多种数据结构,包括字符串、哈希表、列表、集合和有序集合,使其成为一个强大的数据存储和缓存解决方案。

image-20240404113237071

2.Redis 的特性?

  1. 内存存储:Redis 将数据存储在内存中,因此具有非常高的读写性能。它使用了自己的键值存储引擎,可以在内存中高效地操作各种数据结构。
  2. 数据持久化:Redis 提供了数据持久化的功能,可以将数据保存到磁盘上,以便在重启后恢复数据。Redis 支持两种持久化方式:快照(snapshotting)和日志(append-only log)。
  3. 多种数据结构:Redis 支持多种数据结构,包括字符串(String)、哈希表(Hash)、列表(List)、集合(Set)和有序集合(Sorted Set)。这些数据结构使得 Redis 非常灵活,可以适用于各种应用场景。
  4. 发布订阅:Redis 支持发布订阅模式,允许多个客户端订阅一个或多个频道,并接收发布到这些频道的消息。这在构建实时消息系统和事件驱动的应用程序时非常有用。
  5. 分布式:Redis 提供了分布式功能,可以将数据分布在多个节点上。通过 Redis 的集群模式,可以实现数据的水平扩展和高可用性。
  6. 事务支持:Redis 支持事务,可以将多个命令打包成一个原子操作。这意味着要么所有命令都执行成功,要么全部失败,保证了数据的一致性。
  7. Lua 脚本:Redis 支持使用 Lua 脚本执行复杂的操作。通过编写 Lua 脚本,可以在服务端执行多个命令,减少了网络传输的开销,并提高了性能。

3.Redis 的优点有哪些?

  1. 高性能:Redis 将数据存储在内存中,并使用异步的方式将数据写入磁盘,因此具有非常高的读写性能。它还支持数据分片和集群,可以实现水平扩展,处理大规模数据。
  2. 简单易用:Redis 的 API 简单易用,提供了丰富的命令和数据结构操作,使开发人员可以快速地构建应用程序和解决问题。
  3. 数据类型丰富:Redis 支持多种数据类型,例如字符串、列表、哈希表等,使得开发人员能够更灵活地处理不同类型的数据。
  4. 高可用性:Redis 支持主从复制和哨兵机制,可以实现数据的备份和故障转移。当主节点发生故障时,从节点可以自动接管主节点的工作,保证了系统的高可用性。
  5. 数据持久化:Redis 提供了数据持久化的功能,可以将数据保存到磁盘上,以便在重启后恢复数据。这使得 Redis 既具备了高性能的特点,又能保证数据的安全性。
  6. 生态系统和社区支持:Redis 拥有活跃的社区和庞大的生态系统,有许多第三方工具和库可以与 Redis 集成,提供更丰富的功能和解决方案。

4.Redis 客户端工具

  • QuickRedis 是一款 永久免费 的 Redis 可视化管理工具。比较稳定简洁的 redis UI 工具。
  • idea 的 redis 插件
  • AnotherRedisDesktopManager 一款比较稳定简洁的 redis UI 工具。
  • Redis Desktop Manager 一款基于 Qt5 的跨平台 Redis 桌面管理软件,目前已开始收费。
  • Redis Client 是 Redis 客户端的 GUI 工具,使用 Java swt 和 jedis 编写,可以方便开发者浏览 Redis 数据库。该软件支持简体中文,非常适合国内用户使用,不需要汉化就可以直接使用

二.安装使用

image-20240404113248291

1.安装 redis

#进入安装目录
cd /usr/local/

#获取 redis 资源
wget http://download.redis.io/releases/redis-4.0.8.tar.gz

#解压
tar xzvf redis-4.0.8.tar.gz

#进入redis目录
cd redis-4.0.8

#编译
make

#进入目录
cd src

#编译安装
make install PREFIX=/usr/local/redis

2.配置文件

#移动配置文件到安装目录下
mkdir /usr/local/redis/etc

#移动配置文件
mv /usr/local/redis-4.0.8/redis.conf /usr/local/redis/etc

#修改配置文件
vim /usr/local/redis/etc/redis.conf

#以守护进程的模式运行
daemonize no  -->  daemonize yes

#redis.conf配置文件里的bind 127.0.0.1注释掉

#protected-mode 设置为no,关闭远程访问保护
#设置密码
requirepass 123456
protected-mode no

#将redis加入到开机启动
vim /etc/rc.local
#在里面添加内容:(意思就是开机调用这段开启redis的命令)
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

3.bin 目录

#将redis-cli,redis-server拷贝到bin下,让redis-cli指令可以在任意目录下直接使用
cp /usr/local/redis/bin/redis-server /usr/local/bin/
cp /usr/local/redis/bin/redis-cli /usr/local/bin/

#设置redis密码
redis-cli
config get requirepass
config set requirepass xxx

4.启动 redis

#原路径启动
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

#启动redis
redis-server

#加上`&`号使redis以后台程序方式运行
cd /usr/local/redis/bin/
redis-server /usr/local/redis/etc/redis.conf &

#客户端连接redis
redis-cli -h 127.0.0.1 -p 6379
redis-cli -h 127.0.0.1 -p 6379 -a 123456

#退出
ctrl+c

5.停掉服务

#查询停掉
ps -ef |grep redis

#根据端口号查询
netstat -lntp | grep 6379
ss -nltp

#停掉redis
kill -9 pid

6.卸载 redis

#删除安装目录
rm -rf /usr/local/redis

#删除所有redis相关命令脚本
rm -rf /usr/bin/redis-*

#删除redis解压文件夹
rm -rf /root/download/redis-4.0.4

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Maven 项目之快速选择环境配置文件

Maven项目中,多环境之间如何进行配置文件的切换。在我们开发的过程中,经常会出现开发环境、测试环境、生产环境等之间的切换,如果我们每次都去替换配置文件,就会跟繁琐,这个时候就可以创建多个环境,同时在对…

vscode + wsl1 搭建远程C/C++开发环境

记录第一次搭建环境过程。 搭建C/C开发环境有很多种方式,如 MinGW vscode(MinGW 是GCC的Windows版本,本地编译环境)SSH隧道连接 vscode(远程Linux主机)wsl vscode(远程Linux环境&#xff09…

要我说,鹅蛋脸才是YYDS!

在国漫的海洋中,女性角色的设定总是千变万化。她们或温婉如水,或刚烈如火,但总有一种难以言喻的东方美贯穿其中。个人比较喜欢玄机科技他们家的审美和建模,特别是那些拥有鹅蛋脸型的角色,她们往往给人以柔和亲切的第一…

『51单片机』蜂鸣器

🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

PHP+python高校教务处工作管理系统q535p

开发语言:php 后端框架:Thinkphp/Laravel 前端框架:vue.js 服务器:apache 数据库:mysql 运行环境:phpstudy/wamp/xammp等 系统根据现有的管理模块进行开发和扩展,采用面向对象的开发的思想和结构化的开发方…

Linux上管理文件系统

Linux上管理文件系统 机械硬盘 机械硬盘由多块盘片组成,它们都绕着主轴旋转。每块盘片上下方都有读写磁头悬浮在盘片上下方,它们与盘片的距离极小。在每次读写数据时盘片旋转,读写磁头被磁臂控制着不断的移动来读取其中的数据。 所有的盘片…

vite.config.js

Vue3vite vite和webpack区别? 1.vite服务器启动速度比webpack快,由于vite启动的时候不需要打包,也就无需分析模块依赖、编译,所以启动速度非常快。当浏览器请求需要的模块时,再对模块进行编译,这种按需动态…

日历插件fullcalendar【前端】

日历插件fullcalendar【前端】 前言版权开源推荐日历插件fullcalendar一、下载二、初次使用日历界面示例-添加事件,删除事件 三、汉化四、动态数据五、前后端交互1.环境搭建-前端搭建2.环境搭建-后端搭建3.代码编写-前端代码fullcalendar.htmlfullcalendar.js 4.代码…

问题解决:写CSDN博文时图片大小不适应,不清晰,没法排版

项目环境: Window10,Edge123.0.2420.65 问题描述: 当我在CSDN写博文的时候,会经常插入一些图片,但有时候我插入的图片太大了,影响了整体排版。 比如我加入了一张图片,就变成了下面这个样子&…

Compose 中状重组

一、状态变化 1.1 状态变化是什么 根据上篇文章的讲解,在 Compose 我们使用 State 来声明一个状态,当状态发生变化时,则会触发重组。那么状态变化是指什么呢? 下面我们来看一个例子: Composable fun NumList() {val…

【深度学习|Pytorch】torchvision.datasets.ImageFolder详解

ImageFolder详解 1、数据准备2、ImageFolder类的定义transforms.ToTensor()解析 3、ImageFolder返回对象 1、数据准备 创建一个文件夹,比如叫dataset,将cat和dog文件夹都放在dataset文件夹路径下: 2、ImageFolder类的定义 class ImageFol…

C# WPF编程-元素绑定

C# WPF编程-元素绑定 将元素绑定到一起绑定表达式绑定错误绑定模式代码创建绑定移除绑定使用代码检索绑定多绑定绑定更新绑定延时 绑定到非元素对象Source属性RelativeSource属性DataContent属性 数据绑定是一种关系,该关系告诉WPF从源对象提取一下信息,…

296个地级市GDP相关数据集(2000-2023年)

01、数据简介 GDP,即国内生产总值(Gross Domestic Product),是指一个国家或地区所有常住单位在一定时期内生产活动的最终成果。 名义GDP,也称货币GDP,是指以生产物品和劳务的当年销售价格计算的全部最终产…

OpenHarmony实战:CMake方式组织编译的库移植

以double-conversion库为例,其移植过程如下文所示。 源码获取 从仓库获取double-conversion源码,其目录结构如下表: 表1 源码目录结构 名称描述double-conversion/cmake/CMake组织编译使用到的模板double-conversion/double-conversion/源…

南京大学提出用于大模型生成的动态温度采样法,简单有效!

在自然语言处理(NLP)的领域,大语言模型(LLMs)已经在各种下游语言任务中展现出了卓越的性能。这些任务包括但不限于问答、摘要、机器翻译等。LLMs的强大能力在于其生成的文本质量和多样性。为了控制生成过程&#xff0c…

力扣由浅至深 每日一题.22 移除链表元素

迄今为止的生命里 —— 24.4.4 移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 示例 1: 输入:head [1,2,6,3,4,5,6], val 6 输出:[1,2…

【子集回溯】Leetcode 78. 子集 90. 子集 II

【子集回溯】Leetcode 78. 子集 90. 子集 II 78. 子集90. 子集 II ---------------&#x1f388;&#x1f388;78. 子集 题目链接&#x1f388;&#x1f388;------------------- 78. 子集 class Solution {List<List<Integer>> result new ArrayList<>()…

基于约束求解器对“火影忍者Online”进行智能布阵

文章目录 1. 游戏背景2. 确定决策边界3. 布阵数据3.1 追击状态3.2 角色信息3.3 个性化要求 4. 智能布阵模型4.1 主要的决策变量4.2 约束条件&#xff08;含辅助决策变量&#xff09;4.3 目标函数及求解 1. 游戏背景 今天将以“火影忍者Online”为案例&#xff0c;写一个智能布…

STM32工程 如何设置堆栈大小(Heap和Stack)

方法1&#xff1a;通过CubeMX、CubeIDE 配置 方法2&#xff1a;直接在启动文件中修改 &#xff08;适合所有Keil工程&#xff09; Heap、Stack的值大小&#xff0c;不管使用哪种开发环境&#xff0c;它俩都肯定在启动文件中。 可以通过CtrlF&#xff0c;搜索: Heap&#xff0…

【Linux】从零认识文件操作

送给大家一句话&#xff1a; 要相信&#xff0c;所有的不美好都是为了迎接美好&#xff0c;所有的困难都会为努力让道。 —— 简蔓《巧克力色微凉青春》 开始理解基础 IO 吧&#xff01; 1 前言2 知识回顾3 理解文件3.1 进程和文件的关系3.2 文件的系统调用openwrite文件 fd 值…