【redis基础】

目录

一、概述

1.NoSQL

1.1 简述

1.2 类型

1.3 应用场景

1.3.1 缓存

1.3.2 分布式锁

1.3.3 计数器

1.3.4 会话管理

1.3.5 消息队列

2.Redis

2.1 简述

2.2 特性

2.3 监听端口号

2.4 数据类型

二、安装

1.编译安装

2.RPM安装

三、目录结构

1.查看

2.主配置文件

3.持久化文件存储目录

4.日志文件存储目录

5.PID文件存储目录

四、命令解析

1.redis启动命令

2.redis登录命令

3.检查RDB文件

4.检查AOF文件

五、redis登录更改

1.问题

2.解决办法

六、数据库操作

1.登录数据库

1.1 远程登录

1.2 本地登录

1.2.1 监听回环地址

1.2.2 监听本地网卡地址

2.帮助信息

3.库操作

4.数据操作

4.1 set

4.2 keys

4.3 get

4.4 del

4.5 flushall

4.6 rename

4.7 renamenx

4.8 move

4.9 ttl

4.10 expire

七、Redis持久化

1.RDB模式

1.1 默认状况

1.2 dump.rdb

1.3 触发条件

1.3.1 redis进程退出

1.3.2 手动保存(触发RDB)

2.AOF模式

2.1 默认状况

2.2 appendonly.aof

2.3 开启


一、概述

1.NoSQL

1.1 简述

非关系型数据库,内存存储

1.2 类型

文档型数据库(Document-oriented database)如MongoDB;
列族数据库(Column-family database)如HBase、Cassandra等;
图形数据库(Graph database)如Neo4j、ArangoDB等;
键值对数据库(Key-value database)如Redis、Memcached等;
对象数据库(Object-oriented database)如db4o等。

1.3 应用场景

1.3.1 缓存

Redis最常用的应用场景就是缓存,它可以缓存各种类型的数据,如数据库查询结果、API返回结果等,以提高应用程序的响应速度和并发性能。

1.3.2 分布式锁

Redis的分布式锁可以确保在分布式系统中对某个资源的互斥访问,避免多个节点出现并发操作的问题。

1.3.3 计数器

Redis支持对计数器的操作,能够方便地实现各种计数器的功能,如网站访问次数计数、订单数量计数等。

1.3.4 会话管理

Redis可以用来管理会话信息,实现会话的状态存储和共享,避免了单点故障的问题。

1.3.5 消息队列

Redis支持发布订阅模式,可以作为一个轻量级的消息队列使用,实现异步消息处理和任务派发等功能。

2.Redis

2.1 简述

Remote Dictionary Server        远程字典服务

汉化官网        https://www.redis.net.cn/

2.2 特性

内存存储、持久化
键值对存储

2.3 监听端口号

6379

2.4 数据类型

字符串(string)
哈希值(hash)
列表(list)
集合(set)
位图(bitmap)

二、安装

1.编译安装

wget http://download.redis.io/releases/redis-5.0.8.tar.gz
make && make install

2.RPM安装

yum install -y epel-release
yum install -y redis

 

启动
    systemctl start redis

 

:默认监听127.0.0.1地址

三、目录结构

1.查看

rpm  -ql redis

2.主配置文件

/etc/redis.conf

bind 127.0.0.1        修改监听地址
port 6379        修改监听端口号
pidfile         指定通过该配置文件启动reids进程后的PID文件名称
loglevel        定义日志级别
logfile        定义日志存储路径
databases        指定默认数据库数量
save        定义单位时间内key的改变次数
dbfilename        定义存储RDB持久化数据的文件名称
dir        定义RDB与AOF文件的存储目录
appendonly        AOF的启停
appendfilename        定义AOF持久化文件的名称
appendfsync        定义AOF数据同步间隔
requirepass          设置登录redis的密码

3.持久化文件存储目录

/var/lib/redis

4.日志文件存储目录

/var/log/redis

5.PID文件存储目录

/var/run/redis

四、命令解析

1.redis启动命令

redis-server

2.redis登录命令

redis-cli

选项:

-h        redis服务器IP
-p        指定访问端口号
-a        指定登录密码
-n        指定数据库编号

3.检查RDB文件

redis-check-rdb

4.检查AOF文件

redis-check-aof

五、redis登录更改

1.问题

更改完port后,systemctl启动redis异常

2.解决办法

使用redis-server /etc/redis.conf
若要redis后台运需修改配置文件 daemonize yes

六、数据库操作

1.登录数据库

1.1 远程登录

修改配置文件监听地址

vim /etc/redis.conf

开启并修改使用密码

远程登录

:若不加密码,仍然可进入远程redis,但此时除了退出之外,其余操作皆无效。

1.2 本地登录

1.2.1 监听回环地址

redis-cli

1.2.2 监听本地网卡地址

redis-cli -h IP -p 端口号

2.帮助信息

help 命令字
tab补齐

3.库操作

切换        select 数据库编号

4.数据操作

4.1 set

设置键值对
set key value

 

4.2 keys

keys *        查看所有键的名称
keys 键名称        查看一个键是否存在

4.3 get

取出键值对
get 键
键不存在则返回空(nil)

4.4 del

删除键值对
del key

4.5 flushall

清空所有数据库中的数据

 注:慎用

4.6 rename

重命名键名称
不论更名后的键是否存在都会覆盖原有键,
并将改名前的键的值赋予改名后的键
rename oldkey newkey

4.7 renamenx

重命名键名称
假如改名后键名称存在则更改不成功
renamenx oldkey newkey

4.8 move

移动键值对到指定数据库
move key dbnumber
假如目标数据库中存在同名键则移动失败

4.9 ttl

查看键值对的生命周期

ttl key
            -1        永久
            -2         已过期

4.10 expire

设置键值对的存储周期
expire key seconds

七、Redis持久化

1.RDB模式

1.1 默认状况

默认持久化

1.2 dump.rdb

数据库启动时会读取

1.3 触发条件

1.3.1 redis进程退出

宕机
redis程序崩溃

1.3.2 手动保存(触发RDB)

save

 :有别于mysql的备份,此文件存储的是数据。

2.AOF模式

2.1 默认状况

默认关闭

2.2 appendonly.aof

默认进程启动时读取

2.3 开启

appendonly  yes
可以与RDB同时使用

 

 注:此文件存储的是命令步骤,与mysql类似。此文件不可手动写入,需自动生成。

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

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

相关文章

[保研/考研机试] KY163 素数判定 哈尔滨工业大学复试上机题 C++实现

题目链接: 素数判定https://www.nowcoder.com/share/jump/437195121691718831561 描述 给定一个数n,要求判断其是否为素数(0,1,负数都是非素数)。 输入描述: 测试数据有多组,每组输入一个数…

[Docker实现测试部署CI/CD----构建成功后钉钉告警(7)]

目录 15、钉钉告警创建项目群,然后添加机器人添加机器人Jenkins 系统配置项目配置修改Jenkinsfile文件,添加钉钉提示信息测试 不修改Jenkinsfile文件,添加钉钉提示信息测试 15、钉钉告警 创建项目群,然后添加机器人 首先需要在钉…

搭建 Python 环境 | Python、PyCharm

计算机 计算机能完成的工作: 算术运算逻辑判断数据存储网络通信…更多的更复杂的任务 以下这些都可以称为 “计算机”: 一台计算机主要由以下这几个重要的组件构成 CPU 中央处理器:大脑,算术运算,逻辑判断 存储器&…

CSS 的选择器有哪些种类?分别如何使用?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 元素选择器(Element Selector)⭐ 类选择器(Class Selector)⭐ ID 选择器(ID Selector)⭐ 后代选择器(Descendant Selector)⭐ 子元素选择器&a…

物联网的定义、原理、示例、未来

什么是物联网? 物联网 (IoT) 是指由嵌入传感器、软件和网络连接的物理设备、车辆、电器和其他物理对象组成的网络,允许它们收集和共享数据。这些设备(也称为“智能对象”)的范围可以从简单的“智能家居”设备(如智能恒温器)到可穿戴设备(如智能手表和支持RFID的服…

k8sday02

第四章 实战入门 本章节将介绍如何在kubernetes集群中部署一个nginx服务,并且能够对其进行访问。 Namespace ​ Namespace是kubernetes系统中的一种非常重要资源,它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。 ​ 默认情况下&…

springBoot的日志文件

日志是程序的重要组成部分,主要可以用来定位和排查问题。除此之外,还可以用来: 1. 记录用户的登录日志,方便分析用户是正常登录还是恶意破解; 2. 记录系统的操作日志,方便数据恢复和定位操作人;…

【C语言】小游戏-三字棋

大家好,我是深鱼~ 目录 一、游戏介绍 二、文件分装 三、代码实现步骤 1.制作简易游戏菜单 2.初始化棋盘 3.打印棋盘 4.玩家下棋 5.电脑随机下棋 6.判断输赢 7.判断棋盘是否满了 四、完整代码 game.h(相关函数的声明,整个代码要引用的头文件以及宏…

某大厂笔试(小*的车站的最近距离)

有一个环形的公路,上面共有n站,现在给定了顺时针第i站到第i1站之间的距离(特殊的,也给出了第n站到第1站的距离),小*想着沿着公路第x站走到第y站,她想知道最短的距离是多少? 输入描述…

小程序商城开发制作

当开发一个商城小程序时,费用是一个非常重要的考虑因素。然而,准确回答这个问题是有一定困难的,因为开发商城小程序的费用取决于多个因素。以下是一些可能影响价格的主要因素: 1. 功能需求:商城小程序的复杂程度和功能…

阻塞队列的安全实现,定时器的安全实现(面试易考),超详细

一、💛 如何实现一个线程安全的阻塞队列 目前,当前代码是循环队列(还没有进行改动) head和tail的判空判断满两种方法: 1.浪费一个格子,当前走到head的前一个位置,就认为队列满的 2.单独搞一个变量&#xff…

系统架构设计专业技能 · 网络规划与设计(三)【系统架构设计师】

系列文章目录 系统架构设计专业技能 网络规划与设计(三)【系统架构设计师】 系统架构设计专业技能 系统安全分析与设计(四)【系统架构设计师】 系统架构设计高级技能 软件架构设计(一)【系统架构设计师…

手把手带你跑通网站上线全流程(一个简单的HTML和Python服务端完整上线流程)

我将向你介绍如何将一个网站部署到公网&#xff0c;包含完整流程。 前端静态网站 静态网站文件 首先需要准备一个简单的网页文件用于展示页面 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name&quo…

2023深圳杯A题完整代码模型

已更新深圳杯A题全部版本&#xff0c;文末获取&#xff01; 摘要 现代社会&#xff0c;随着生活方式的变化和工作压力的增大&#xff0c;慢性非传染性疾病日益成为威胁公众健康的主要问题。心脑血管疾病、糖尿病、恶性肿瘤及慢性阻塞性肺病等慢性病的发病率呈现出上升趋势。为…

23款奔驰AMG GT50更换原厂运动排气系统,战斗感立马提升了

改装运动排气&#xff0c;原车中控的按键组也是需要更换的。与原车按键相比&#xff0c;只是多了一个排气的控制按键&#xff0c;也正是这个按键&#xff0c;能让车辆可静可怒&#xff0c;安静与怒吼就在一键之间。

linux_常用命令

一、日常使用命令/常用快捷键命令 开关机命令 1、shutdown –h now&#xff1a;立刻进行关机 2、shutdown –r now&#xff1a;现在重新启动计算机 3、reboot&#xff1a;现在重新启动计算机 4、su -&#xff1a;切换用户&#xff1b;passwd&#xff1a;修改用户密码 5、logou…

ChatGLM2-6B在Windows下的微调

ChatGLM2-6B在Windows下的微调 零、重要参考资料 1、ChatGLM2-6B! 我跑通啦&#xff01;本地部署微调&#xff08;windows系统&#xff09;&#xff1a;这是最关键的一篇文章&#xff0c;提供了Windows下的脚本 2、LangChain ChatGLM2-6B 搭建个人专属知识库&#xff1a;提供…

计算机网络—TCP

这里写目录标题 TCP头格式有哪些为什么需要TCP&#xff0c;TCP工作在哪什么是TCP什么是TCP连接如何确定一个TCP连接TCP和UDP的区别&#xff0c;以及场景TCP和UDP能共用一个端口&#xff1f;TCP的建立TCP三次握手过程为什么是三次握手、不是两次、四次why每次建立连接&#xff0…

2023年游戏买量能怎么玩?

疫情过后&#xff0c;一地鸡毛。游戏行业的日子也不好过。来看看移动游戏收入&#xff1a;2022年&#xff0c;移动游戏收入达到920亿美元&#xff0c;同比下降6.4%。这告诉我们&#xff0c;2022年对移动游戏市场来说是一个小挫折。 但不管是下挫还是上升&#xff0c;移动游戏市…

python技术栈 之 单元测试中mock的使用

一、什么是mock&#xff1f; mock测试就是在测试过程中&#xff0c;对于某些不容易构造或者不容易获取的对象&#xff0c;用一个虚拟的对象来创建以便测试的测试方法。 二、mock的作用 特别是开发过程中上下游未完成的工序导致当前无法测试&#xff0c;需要虚拟某些特定对象…