小白到运维工程师自学之路 第三十四集 (redis的基本使用)

news2024/11/26 21:25:22

一、概念

        Redis是一个开源的内存数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等。Redis的特点是数据存储在内存中,因此读写速度非常快,同时也支持数据持久化到磁盘上,以保证数据的安全性。Redis还提供了丰富的命令和API,可以方便地进行数据操作和管理。由于其高性能、可扩展性和灵活性,Redis被广泛应用于Web应用程序、分布式系统、实时数据处理等领域。

二、工作原理

1. 客户端向Redis发送请求,请求可以是读取、写入、删除等操作。

2. Redis接收到请求后,根据请求类型和键值对的信息,进行相应的操作。

3. 如果请求需要修改数据,Redis会将修改操作记录在内存中的数据结构中,同时异步地将修改操作写入磁盘中的日志文件中,以保证数据的持久性。

4. 如果请求需要读取数据,Redis会先在内存中查找数据,如果找到则直接返回给客户端,如果没有找到则从磁盘中的数据文件中读取数据,并将数据加载到内存中,以便下次更快地访问。

5. Redis还支持一些高级功能,如发布/订阅、事务、Lua脚本等,这些功能都是基于Redis内置的命令实现的。

三、基本配置

1、安装

使用yum安装

yum -y install redis

2、配置文件

/etc/redis.conf   主配置文件路径

寻找并取消注释掉 requirepass 这一行。

 requirepass 行后面,输入您想要设置的密码

它表示 Redis 不会将写操作追加到磁盘上的日志文件中

在生产环境中需要将这条配置项修改为YES

将bind 127.0.0.1(本地回环地址)修改为0.0.0.0(表示所有人都可以登录)

 

 

3、登录redis

systemctl start redis                   启动redis服务
redis-cli -h 主机名或IP -p 端口 -a 密码   远程登录命令
redis-cli   redis                       本地登录命令

 登录redis服务后需要输入AUTH 密码  验证身份

4、常用命令

SET 命令用于将指定的 Key 设定为对应的 Value 值。
GET 命令用于获取指定 Key 的 Value 值。

 

EXISTS 如果键存在,则返回 1,否则返回 0。
DEL 命令用于删除指定的 Key 及其对应的 Value 值。

KEYS 命令用于查找符合指定 pattern 的所有 Key

 

INCR 用于将指定的key中存储的整数值加1,如果key不存在,则会先将其设置为0再执行加1操作。
DECR 用于将指定的key中存储的整数值减1,如果key不存在,则会先将其设置为0再执行减1操作。

EXPIRE  命令用于设置指定 Key 的过期时间
TTL     命令用于获取指定 Key 的剩余过期时间

设置名为syh的键 60秒后自动删除

HASH 命令用于在指定 Key 中设置多个字段的值,也可用于获取指定 Key 中所有字段及其值。

LIST 命令用于在指定 Key 的列表中插入、获取、删除值。
lpush syh "test 3"
将值为 "syh 3" 的元素插入到名为 "syh" 的列表的左侧,并将其设置为列表的第一个元素。
lpush syh "test 2"
将值为 "syh 2" 的元素插入到名为 "syh" 的列表的左侧,并将其设置为列表的第二个元素。
lpush syh "test 1"
将值为 "syh 1" 的元素插入到名为 "syh" 的列表的左侧,并将其设置为列表的第三个元素。
lrange syh 0 -1
获取名为 "syh" 的列表中所有元素,从第一个元素到最后一个元素
lpop syh 
从名为 "tasks" 的列表的左侧弹出第一个元素,并返回该元素的值,即 "syh1"

 可以看到test1的元素已经没有了

四、redis持久化配置

1、RDB持久化配置

        将 Redis 在内存中的数据定期 dump 到硬盘上的一个快照文件,用于进行备份和恢复。其优点是安全,可靠且性能高,缺点是在最近一次 RDB 文件被 dump 之后的数据丢失风险较高。

在多长时间后,如果有多少个键发生更改,Redis 执行写操作
save 900 1              每900秒同步一次数据到磁盘中
save 300 10             每300秒同步十次数据到磁盘中
save 60 10000           每60秒同步一万次数据到磁盘中

dbfilename dump.rdb  这个是存储持久化数据的文件名
dir /var/lib/redis   这个是持久化数据文件的路径

2、AOF持久化配置

        Redis 的 AOF 持久化是指将 Redis 服务器执行的每个写入操作都记录在追加日志文件中,这样可以确保即使服务器发生故障,也能够保证最新的数据不会丢失。Redis AOF 持久化有以下两种方式:

always:每次发生写入操作时都会执行同步,会影响服务器的写入性能,但数据保护程度较高。

everysec:每秒执行一次同步操作,折中选项,既保证了写入性能又保障了数据安全。

修改配置文件

appendonly yes            开启AOF持久化功能
appendonly.aof            设置AOF日志文件的名称
dir /path/to/appendonly/  设置AOF日志的存放目录
appendfsync everysec      设定数据同步方式,always 表示每次操作都同步,everysec 表示每秒同步一次

 

 

退出重启服务后就可以实现持久化配置了

以上就是redis的基本使用方法和持久化配置

如有错误欢迎各位大佬批评指正,我们共同进步

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

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

相关文章

【Vue3+Ts project】认识 @vueuse/core 库

目标: 根据屏幕宽度改变 实现动态获取盒子的宽度 目录 目标: 一、javascript实现 二、vueuse/core 库实现 一、javascript实现 1.首先 window.innerWidth 获取当前屏幕宽度,然后将 盒子宽度 除 375 乘 当前屏幕宽度 150 / 375 * window.innerWidth 2.将获取的…

千万不要跟随这 4 种领导!

​ 见字如面,我是军哥! 最近有程序员读者问我,什么样的领导不能跟随?都有哪些坑!这个我擅长哈,毕竟职场混迹 15 年~ 第一种,技术能力不行还喜欢指手画脚的领导。 第二种,…

鹏云网络分布式块存储社区版问世,首发开源存储解决方案

2023年1月,南京鹏云网络科技有限公司(简称:鹏云网络)正式宣布开源ZettaStor DBS分布式块存储系统,开放了自研10余年的分布式块存储技术,自此踏上了“自研”与“开源”一体并行的生态闭环之路。 研发十年&am…

python程序获取最新的行政区划名称代码

一、实现目标 最近由于项目需要,需要获取最新的过去全国县以上行政区划的名称和代码。网上虽然有一些资料,但是不是需要积分就是需要会员,而且担心这些资料不是最新的。因此,想着使用程序从官方网站上获取最新的全国行政区划数据。 二、实现思路 1、找到官方最新发布的全国…

c++11 标准模板(STL)(std::basic_ios)(五)

定义于头文件 <ios> template< class CharT, class Traits std::char_traits<CharT> > class basic_ios : public std::ios_base 类 std::basic_ios 提供设施&#xff0c;以对拥有 std::basic_streambuf 接口的对象赋予接口。数个 std::basic_ios…

【夜深人静学数据结构与算法 | 第七篇】时间复杂度与空间复杂度

目录 前言&#xff1a; 引入&#xff1a; 时间复杂度&#xff1a; 案例&#xff1a; 空间复杂度&#xff1a; 案例&#xff1a; TIPS&#xff1a; 总结&#xff1a; 前言&#xff1a; 今天我们将来介绍时间复杂度和空间复杂度&#xff0c;我们代码的优劣就是依…

力扣算法刷题Day38|动态规划:斐波那契数 爬楼梯 使用最小花费爬楼梯

力扣题目&#xff1a;#509. 斐波那契数 刷题时长&#xff1a;参考答案后5min 解题方法&#xff1a;动态规划 复杂度分析 时间O(n)空间O(n) 问题总结 无 本题收获 动规五部曲思路 确定dp数组以及下标的含义&#xff1a;dp[i]的定义为&#xff0c;第i个数的斐波那契数值…

VMware虚拟机彻底卸载详细教程

VMware虚拟机彻底卸载 一、彻底卸载过程1.1 停止VMware服务1.2 结束vmware任务1.3 开始卸载VMware1.4 删除注册表信息1.5 删除安装目录 二、vmware 安装教程三、vmware 使用教程 回到目录   回到末尾 一、彻底卸载过程 卸载之前&#xff0c;需要先关闭VMware相关的后台服务…

软件技巧:7款冷门且十分良心的软件

1、Okular 阅读器 Okular是一款来自KDE的通用文档阅读器&#xff0c;支持众多文档格式&#xff0c;如PDF、Postscript、DjVu、CHM、XPS、ePub、图片格式、漫画格式等&#xff0c;支持Windows、macOS与Linux&#xff0c;是科研学术人士阅读文献的好工具&#xff0c;也是电子书爱…

OWASP 之认证崩溃基础技能

文章目录 一、burp爆破用法1.Attack type爆破方式设置2.payload处理3.请求引擎设置4.攻击结果设置5.grap匹配设置 二、常见端口与利用1、文件共享2、远程连接3、Web应用4、数据库 三、爆破案例经验1、暴力破解攻击产生的5个原因或漏洞2、猜测用户名方法3、猜测密码方法 四、实验…

亚马逊云科技中国峰会:Amazon DeepRacer——载着 AI 梦想向前奔跑

目录 一、Amazon DeepRacer 是什么&#xff1f; 二、Amazon DeepRacer 的前世今生 三、Amazon DeepRacer 深度体验 四、2023亚马逊云科技中国峰会 1.中国峰会总决赛 2.自动驾驶赛车名校邀请赛 3.Girls in Tech Show 4.全球联赛 5.报名链接&#xff1a; 一、Amazon Dee…

C++个人通信录管理系统

背景&#xff1a; 使用C编写一个个人通信录管理系统&#xff0c;来完成作业上的一些需求。 1-提供录入个人信息、修改个人信息&#xff08;姓名和出生日期除外&#xff09;、删除个人信息等编辑功能 2-提供按姓名查询个人信息的功能 3-提供查找在5天之内过生日的人员的信息…

【C++初阶】C++STL详解(二)—— string类的模拟实现

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;C初阶 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 上一篇博客&#xff1a;【C初阶】…

Internet Relay Chat:mIRC 7.73 Crack

mIRC是一个流行的互联网中继聊天客户端&#xff0c;个人和组织使用它在世界各地的IRC网络上相互交流、共享、玩耍和工作。为互联网社区服务了20多年&#xff0c;mIRC已经发展成为一种强大、可靠和有趣的技术。 Latest News mIRC 7.73 has been released! (June 18th 2023) This…

Linux常用命令——fuser命令

在线Linux命令查询工具 fuser 使用文件或文件结构识别进程 补充说明 fuser命令用于报告进程使用的文件和网络套接字。fuser命令列出了本地进程的进程号&#xff0c;那些本地进程使用file&#xff0c;参数指定的本地或远程文件。对于阻塞特别设备&#xff0c;此命令列出了使…

【C语言复习】第六篇、关于C语言操作符的知识

目录 第一部分、常见操作符 第二部分、每个操作符的具体使用 1、算术操作符 1.1、除法运算符 / 1.2、取模运算符 % 2、移位操作符 2.1、左移 << 2.2、右移 >> 3、位操作符 3.1、按位异或的妙用 3.2、按位与的妙用 4、单目操作符 4.1、逻辑反操…

18-1降维与特征选择——偏最小二乘方法(附matlab程序)

1.简述 降维&#xff1a; 比如现在有100维的变量来表征一个东西&#xff0c;我们觉得太冗余复杂了&#xff0c;想降低到10维。但是我们没有确定的筛选依据&#xff0c;直接使用数学工具来实现降维&#xff0c;就好像丢进了一个黑箱&#xff0c;经过抽象、提炼&#xff0c;得到了…

【深度学习】3-3 神经网络的学习- 导数梯度

导数 导数就是表示某个瞬间的变化量&#xff0c;式子如下&#xff1a; 式子的左边&#xff0c;表示f(x)关于x的导数&#xff0c;即f(x)相对于x的变化程度。式子表示的导数的含义是&#xff0c;x的“微小变化”将导致函数f(x)的值在多大程度上发生变化。其中&#xff0c;表示…

AI绘画是什么?怎样提高AI绘画技巧

大家好&#xff0c;我是权知星球&#xff0c;今天跟大家探讨一下AI绘画是什么&#xff1f;怎样才能提高AI绘画技巧的问题。 随着人工智能技术的迅速发展&#xff0c;AI绘画已成为一项具有前瞻性的技术。在过去几年中&#xff0c;涌现出了许多功能强大的人工智能绘画工具&#x…