Linux系统中redis基础

本节主要学习redis的概述,安装目录结构,命令解析和redis登录更改,数据库的操作,和redis的持久化。


目录

一、概述

二、安装

1.编译安装

2.rpm安装

三、目录结构

四、命令解析

五、redis登陆更改

问题

解决办法

六、数据库操作

1、登录数据库

1.1本地登录

1.2远程操作

2、帮助信息

3、库操作

4、数据操作

七、redis持久化

1、RDB模式

默认持久化

触发条件

2、AOF模式—默认关闭

appendonly.aof    默认进程启动时读取

开启


一、概述

1、NoSQL

1.1非关系型数据库

1.2内存存储

1.3类型

    文档型数据库(Document-oriented database)如MongoDB;

    列族数据库(Column-family database)如HBase、Cassandra等;

    图形数据库(Graph database)如Neo4j、ArangoDB等;

    键值对数据库(Key-value database)如Redis、Memcached等;

    对象数据库(Object-oriented database)如db4o等。

1.4应用场景

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

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

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

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

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

2、Redis

Remote Dictionary Server    远程字典服务

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

内存存储、持久化

键值对存储

监听端口号    6379

数据类型 :字符串(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地址

 

三、目录结构

rpm  -ql redis—查看是否安装redis
/var/lib/redis持久化文件存储目录
/var/log/redis日志文件存储目录
/var/run/redis

PID文件存储目录

 

 

/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的密码

四、命令解析

redis-server

redis-cli    redis登录命令

        -h            redis服务器IP

        -p            指定访问端口号

        -a            指定登录密码

        -n            指定数据库编号 

redis-check-rdb    检查RDB文件

redis-check-aof    检查AOF文件

五、redis登陆更改

问题

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

出现问题

 

解决办法

    使用redis-server /etc/redis.conf

    若要redis后台运需修改配置文件 daemonize yes

 kill关闭redis

然后在重启,服务后台进行 

六、数据库操作

1、登录数据库

1.1本地登录

              监听回环地址    redis-cli

              监听本地网卡地址    redis-cli -h IP -p 端口号

1.2远程操作

客户端:              redis -cli -h 服务器地址 -p 端口号

2、帮助信息

           help 命令字         tab补齐

3、库操作

select 数据库编号 —切换

4、数据操作

set设置键值对

set key value

keyskeys *  —查看所有键的名称
keys 键名称—查看一个键是否存在
get取出键值对
get 键            键不存在则返回空
del删除键值对
del key
flushall清空所有数据库中的数据
rename重命名键名称
不论更名后的键是否存在都会覆盖原有键,
并将改名前的键的值赋予改名后的键
rename oldkey newkey
renamenx移动键值对到指定数据库,
move key dbnumber,假如目标数据库中存在同名键则移动失败
ttl查看键值对的生命周期
ttl key        -1    永久
                 -2    已过期
expire

设置键值对的存储周期

expire key seconds

取出键值,添加键值,删除键值,查看键值

 清除所有键值

重命名键名称

 移动键值对到指定数据库,

查看键值对的生命周期

七、redis持久化

1、RDB模式

默认持久化

dump.rdb—数据库启动时会读取

触发条件

redis进程退出:    宕机    redis程序崩溃

手动保存(触发RDB)“    save

2、AOF模式—默认关闭

appendonly.aof    默认进程启动时读取

开启

appendonly  yes         可以与RDB同时使用

查看日志生成appendonly.aof

创建键值

查看日志


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

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

相关文章

P11-Transformer学习1.1-《Attention Is All You Need》

Transformer目录:《Transformer Paper》1.0 CV Transformer必读论文5篇_汉卿HanQ的博客-CSDN博客 前文参考:Transformer1.0-预热_汉卿HanQ的博客-CSDN博客 全文1w3字左右,按照论文翻译个人理解精读,如果对你有所帮助,欢迎点个赞哦&#xff…

MQTT消息传输过程,网络断开后,断线重连及订阅消息恢复

1,首先要在网络失败的地方进行client重连 2,一定要设置发送超时,默认是-1,是不断进行发送的,会被长阻塞在这里,单位是ms 3,参考链接 https://vimsky.com/examples/detail/java-method-org.ec…

揭秘无人机在水利行业中如何应用

无人机的应用已经成为现代科技的重要组成部分,在水利行业中,无人机的应用同样发挥了极其重要的作用。无人机在水利行业中的应用,不仅提高了工作效率,还极大地降低了人力和物力成本,为水利工作注入了新的活力。 一、无人…

2023集成电路产业发展与产教融合高峰论坛会议顺利举行

8月5日,由中国半导体行业协会和市政府共同主办,天水师范学院、天水华天科技股份有限公司、杭州加速科技有限公司承办的2023集成电路产业发展与产教融合高峰论坛在天水举行。天水市委书记冯文戈,教育部学生服务与素质发展中心副主任方伟&#…

Flutter父宽度自适应子控件的宽度

需求: 控件随着金币进行自适应宽度 image.png 步骤: 1、Container不设置宽度,需要设置约束padding; 2、文本使用Flexible形式; Container(height: 24.dp,padding: EdgeInsetsDirectional.only(start: 8.dp, end: 5.d…

【知识图谱】图数据库Neo4jDesktop的安装图文详解(小白适用)

neo4j 的安装需要有jdk环境的支持。因此在安装Neo4j之前,需要安装Java JDK。 一.安装JDK 参考文章https://blog.csdn.net/weixin_41824534/article/details/104147067?spm1001.2014.3001.5502 二.Neo4j下载 进入Neo4j官网 选择下载中心 下滑选择Neo4j Deskto…

【学习笔记】生成式AI(ChatGPT原理,大型语言模型)

ChatGPT原理剖析 语言模型 文字接龙 ChatGPT在测试阶段是不联网的。 ChatGPT背后的关键技术:预训练(Pre-train) 又叫自监督式学习(Self-supervised Learning),得到的模型叫做基石模型(Founda…

Go重写Redis中间件 - Go实现Redis集群

Go实现Redis集群 这章的内容是将我们之前实现的单机版的Redis扩充成集群版,给Redis增加集群功能,在增加集群功能之前,我们先学习一下在分布式系统中引用非常广泛的技术一致性哈希,一致性哈希在我们项目里就应用在我们Redis集群的搭建这块 详解一致性哈希 Redis集群需求背…

实际工作中通过python+go-cqhttp+selenium实现自动检测维护升级并发送QQ通知消息(程序内测)

说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 首先,今年比较忙没有多余时间去实操创作分享文章给大家,那就给大家分享下博主在实际工作中的一点点内容吧,就当交…

容器安全的常见风险与防护实践

运行在云平台上的容器产品,因为具备一个完整的可移植应用程序环境,能够帮助用户轻松地完成对应用程序的开关控制,提升应用程序的敏捷性,同时节约企业的IT建设成本。在巨大优势作用下,容器产品的采用率在2021年达到了新…

小研究 - Mysql快速全同步复制技术的设计和应用(三)

Mysql半同步复制技术在高性能的数据管理中被广泛采用,但它在可靠性方面却存在不足.本文对半同步复制技术进行优化,提出了一种快速全同步复制技术,通过对半同步数据复制过程中的事务流程设置、线程资源合理应用、批量日志应用等技术手段&#…

全栈测试平台推荐:RunnerGo

做软件测试的同学在工作时应该都碰到过这种情况:接口管理、接口测试用postman、Apipost等接口管理工具,性能测试用jmeter、loadrunner等性能测试工具,接口自动化则是jmeter脚本或者python脚本配合jenkins使用。这种情况极大的降低了研发效率&…

Linux下的环境变量

目录 一、环境变量是什么?二、常见的环境变量三、查看环境变量的方法四、和环境变量相关的命令五、命令行参数五、环境变量通常是具有全局属性的 一、环境变量是什么? 环境变量通俗来说就是一种存储系统和应用程序运行需要的配置信息的方式。可以把环境…

MySQL数据库基础

目标: 1.数据库操作:创建数据库,删除数据库 2.常用数据类型 3.表的操作:创建表,删除表 数据库操作 (1)显示数据库 show databases; (2)创建数据库 创建一个…

Playwright 和 Selenium 的区别是什么?

前言 最近有不少同学问到 Playwright 和 Selenium 的区别是什么? 有同学可能之前学过 selenium 了,再学一个 playwright 感觉有些多余,可能之前有项目已经是 selenium 写的了,换成 playwright 需要时间成本,并且可能有…

算法的时间复杂度和空间复杂度

目录 前言: ✨什么是数据结构? ✨ 什么是算法? ✨数据结构和算法的重要性 🍑算法的时间复杂度和空间复杂度 算法效率 🎉时间复杂度 2.1 时间复杂度的概念 2.2 大O的渐进表示法 🎉空间复杂度 前言&#xf…

Linux中安装jdk

Linux中安装jdk 操作步骤: 1、使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux 2、解压安装包,命令为tar -zxvf jdk-8u171-linux-x64.tar.gz -C/usr/local 3、配置环境变量,使用vim命令修改/etc/profile文件,在文件末尾加入如…

排序算法(九大)- C++实现

目录 基数排序 快速排序 Hoare版本(单趟) 快速排序优化 三数取中 小区间优化 挖坑法(单趟) 前后指针法(单趟) 非递归实现(快排) 归并排序 非递归实现(归并&am…

2、简单上手+el挂载点+v-xx(v-text、v-html、v-on、v-show、v-if、v-bind、v-for)

官网&#xff1a; vue3&#xff1a;https://cn.vuejs.org/ vue2&#xff1a;https://v2.cn.vuejs.org/v2/guide/ 简单上手&#xff1a; 流程&#xff1a; 导入开发版本的Vue.js <!--开发环境版本&#xff0c;包含了有帮助的命令行警告--> <script src"https…

单片机开发 esp8266

一、固件界面 二、项目介绍 固件名称&#xff1a;esp8266-universalboard v1.0 提供商&#xff1a; 半条虫(466814195) 下载&#xff1a;esp8266-universalboard.bin 源码地址&#xff1a;Gitlab