【Redis系列】Redis安装与使用

news/2024/5/9 1:45:01/文章来源:https://blog.csdn.net/qyj19920704/article/details/137370832

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

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

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

相关文章

python 读取txt文件,文本拼接

# 定义你想要拼接的变量 variable_to_concatenate1 """ ,拼接文本,文本一, """ variable_to_concatenate2 """ ,文本二,拼接文本 """# 打开原始文件,并读取每一行 with open(example.txt, r, encodi…

HarmonyOS 开发-图片九宫格封装案例

介绍 本示例介绍使用(Flex) 组件实现图片在不同个数情况下的布局效果(默认布局和自定义布局)。该场景多用于社交类应用。 效果图预览 使用说明 默认布局情况下,传入图片资源imageSource(类型为Resource[]),图片会按照个数进行相…

在Vue2里面加载AntvL7

1、代码块 <template><div ref"mapContainer" style"width: 800vh; height: 100vh; align-items: center; justify-content: center"></div> </template><script> export default {mounted() {this.initMap();},methods: {…

光伏电站运维管理平台功能分析

光伏电站的建设发展&#xff0c;不仅可以满足人们日益增长的用电需求&#xff0c;同时对于减少能源资源消耗也有着十分重要的作用。但是光伏电站因为区域跨度大&#xff0c;分布广泛等原因在建设发展中导致了人员管理困难、运维工作落实不到等问题&#xff0c;直接影响光伏电站…

SQL注入原理与信息获取及常规攻击思路靶场实现

SQL注入原理与信息获取及常规攻击思路靶场实现 很早的时候就写了&#xff0c;权当备份吧 Web程序三层架构 表示层 &#xff1a;与用户交互的界面 , 用于接收用户输入和显示处理后用户需要的数据 业务逻辑层 &#xff1a;表示层和数据库访问层之间的桥梁 , 实现业务逻辑 ,验证、…

pycharm一直打不开

一直处在下面的页面&#xff0c;没有反应 第一种方案&#xff1a; 以管理员身份运行 cmd.exe&#xff1b;在打开的cmd窗口中&#xff0c;输入 netsh winsock reset &#xff0c;按回车键&#xff1b;重启电脑&#xff1b;重启后&#xff0c;双击pycharm图标就能打开了&#xf…

F - 创新型机器猫 高性能战斗机器人(遇到过的题,做个笔记)

我的代码&#xff1a; #include <iostream> #include <vector> using namespace std; int main() {string str;cin >> str;int dxy[][2] { {0,1},{1,0},{0,-1},{-1,0} }; //设置偏移量&#xff0c;按照右转顺序&#xff1a;北->东->南->西int now…

西门子PLC(S7-200 SMART)学习笔记1:初识PLC可编程逻辑器件

今日开始我的西门子PLC学习之路&#xff0c;学习的型号以S7-200 SMART为主 主要认识一下PLC是什么、型号怎么看、 通信相关、编程软件、构造及工作原理 目录 西门子官方PLC手册获取&#xff1a; 1、PLC可编程逻辑器件的基本认识&#xff1a; PLC的结构及各部分的作用&#xff…

雄安新区5G+北斗:引领数字城市建设新浪潮

随着数字化转型成为全球城市发展的新趋势&#xff0c;数字城市建设已经成为推动经济增长和提升居民生活质量的关键。近日《人民日报》头版任平文章提及雄安“新质生产力”——5G北斗技术&#xff0c;雄安新区再次成为全球瞩目的焦点。 “5G北斗”&#xff1a;雄安新区的创新之举…

2、java语法之循环、数组与方法(找工作版)

写在前面&#xff1a;整个系列文章是自己学习慕课相关视频&#xff0c;进行的一个总结。文章只是为了记录学习课程的整个过程&#xff0c;方便以后查漏补缺&#xff0c;找到对应章节。 文章目录 一、Java循环结构1、while循环2、do-while循环3、for循环4、嵌套循环5、break语句…

BGP-(as-path-filter)

BGP-as-path-filter&#xff0c;缺省 as-path-filter&#xff0c;正则表达式&#xff0c;as-path过滤器&#xff0c;对于BGP的as-path属性实际上可以看成是一个包含空格的字符串。 特点&#xff1a;1、通过对BGP路由的as-path属性进行匹配达到对BGP路由的过滤。 2、在route-…

redis 集群 (主从复制 哨兵模式 cluster)

目录 一 主从复制 &#xff08;一&#xff09;相关理论 1&#xff0c;主从复制定义 2&#xff0c;主从复制的作用 3&#xff0c;主从复制架构图 4 sync 同步过程 5&#xff0c;主从复制流程 &#xff08;二&#xff09; 实验模拟 1&#xff0c; 实验环境 2, 修…

(React生命周期)前端八股文修炼Day8

一 React的生命周期有哪些 React组件的生命周期可以分为三个主要阶段&#xff1a;挂载&#xff08;Mounting&#xff09;、更新&#xff08;Updating&#xff09;和卸载&#xff08;Unmounting&#xff09;。React类组件的生命周期方法允许你在组件的不同阶段执行代码。 挂载…

算法打卡day41|动态规划篇09| Leetcode198.打家劫舍、213.打家劫舍II、337.打家劫舍 III

算法题 Leetcode 198.打家劫舍 题目链接:198.打家劫舍 大佬视频讲解&#xff1a;198.打家劫舍视频讲解 个人思路 偷还是偷&#xff0c;这取决于前一个和前两个房是否被偷了&#xff0c;这种存在依赖关系的题目可以用动态规划解决。 解法 动态规划 动规五部曲&#xff1a;…

[Java基础揉碎]System类

1) exit 退出当前程序 2) arraycopy: 复制数组元素&#xff0c;比较适合底层调用&#xff0c;一般使用 Arrays.copyOf完成复制数组(Arrays.copyOf其实底层也是用的System.arraycopy, 本质是一样的) int[] src{1,2,3}; int[] dest new int[3]; System.arraycopy(src, 0, des…

14届蓝桥杯省赛 C/C++ B组 T8 整数删除(双向链表,堆)

瞬间定位一个数的左边或者右边&#xff0c;需要用到双向链表。 在过程中不断维护最小值&#xff0c;需要用到堆。 所以定义一个pair类型优先队列&#xff0c;每次取出堆顶进行删除&#xff0c;并且同时让删除元素的左右元素加上其值。 同时需要注意&#xff0c;在删除元素之后…

C++——栈和队列容器

前言&#xff1a;这篇文章我们将栈和队列两个容器放在一起进行分享&#xff0c;因为这两个要分享的知识较少&#xff0c;而且两者在结构上有很多相似之处&#xff0c;比如栈只能在栈顶操作&#xff0c;队列只能在队头和队尾操作。 不同于前边所分享的三种容器&#xff0c;这篇…

vue2实现wangEditor富文本便捷器的封装使用--真实项目

基于wangEditor 5实现一个简单的富文本编辑器组件&#xff0c;实现自定义上传图片。 官网地址&#xff1a;https://www.wangeditor.com/v5/for-frame.html#%E9%85%8D%E7%BD%AE 1. 安装依赖包&#xff1a; npm i wangeditor/editor --save npm i wangeditor/editor-for-vue --…

HarmonyOS 开发-数据库版本升级案例

介绍 本示例介绍使用关系型数据库的接口来进行数据库升降级场景实现 效果预览图 使用说明 加载完成后有版本升级以及版本恢复两种按钮点击版本升级下的”升级至V2“按钮&#xff0c;则数据库版本会从V1升级至V2&#xff0c;且在表格处显示V1和V2版本表格字段对比。点击版本升…

CNN-Transformer时间序列预测

部分代码&#xff1a; # CNN-Transformer class CNNTransformerEncoder(nn.Module):def __init__(self, input_features, transformer_encoder_heads,embedding_features, cnn_kernel_size, dim_feedforward_enc, n_encoder_layer):super(CNNTransformerEncoder, self).__init…