Redis的配置与优化

一、关系型数据库和非关系型数据库

  1.1 关系型数据库

    一个结构化的数据库创建在关系模型基础上,一般面向于记录,包括:Oracle、MySQL、SQLServer、Microsoft Access、DB2

  1.2 非关系型数据库

    除了主流的关系型数据库外的数据库,都为非关系型数据库,包括Redis(支持大数据、高并发)、MongoDB、Hbase(大数据)、CouhDB(大数据)

  1.2.1 非关系型数据库的背景

High performance——对数据库高并发读写需求

High Storage——对海量数据高校存储和访问需求

High Scalability && High Availability——对数据库高扩展性与高可用性需求

  1.3 关系型数据库和非关系型数据库之间的区别

  • 数据存储方式不同
    • 关系型数据库:数据主要存储在数据表的行和列中
    • 非关系型数据库:数据通常存储在数据集中
  • 扩展方式不同
    • 关系型数据库:纵向,比如:硬件中添加内存
    • 非关系型数据库:横向(天然分布式)
  • 对事务的支持不同

二、Redis

  2.1 Redis的定义

    远程字典服务器是一个开源的NoSQL数据库,基于内存运行并支持持久化,采用key-value(键值对)的存储方式,是目前分布式架构不可或缺的一环。Redis服务器程序时单进程模型,也就是说在一台服务器上可以开启多个Redis进程,Redis的实际处理速度则是完全依靠于主进程的执行效率

  2.2 Redis的优点

  • 具有极高的数据读写速度

  • 支持丰富的数据类型:支持key-value、Strings、Lists、Hashes、Sets及Sorted Sets等数据类型操作

  • 支持数据的持久化:可以将内存中的数据保存在磁盘中,重启的时候可以在此加载进行使用

  • 原子性

  • 支持数据备份(MASTER-SLAVE之间的数据备份)

  2.3 Redis的应用场景

    Redis主要存放在内存中!例如:获取最新N个数据的操作、排行榜类应用、计数器应用、存储应用、粗处关系、实时分析系统、日志记录。

  2.4 Redis传输速率快的原因

  • Redis是一款纯内核结构,避免了磁盘I/O等耗时操作

  • Redis命令处理的核心模块为单线程

  • 采用了I/O多路复用机制,提高了并发率

  2.5 Redis安装部署(实验)

  2.5.1 关闭防火墙和防护

systemctl stop firewalld

setenforce 0

  2.5.2 安装gcc、gcc-c++ 

  2.5.3 解压压缩包

  2.5.4 编译安装

  2.5.5 运行脚本

  2.5.6 编辑6379配置文件并重新启动

  2.6 Redis命令工具

redis-server:用于启动 Redis 的工具


redis-benchmark:用于检测 Redis 在本机的运行效率


redis-check-aof:修复 AOF 持久化文件


redis-check-rdb:修复 RDB 持久化文件


redis-cli:Redis 命令行工具

  2.6.1 redis-cli命令行工具

语法:redis-cli -h host -p port -a password

-h 指定远程主机
-p指定 Redis 服务的端口号
-a指定密码,未设置数据库密码可以省略-a 选项

  2.6.2 redis-benchmark测试工具

语法:redis-benchmark [选项] [选项值]

-h 指定服务器主机名
-p指定服务器端口
-s指定服务器 socket
-c指定并发连接数
-n指定请求数
-d以字节的形式指定 SET/GET 值的数据大小
-k1=keepalive 0=reconnect
-rSET/GET/INCR 使用随机 key, SADD 使用随机值。
-P通过管道传输<numreq>请求。
-q强制退出 redis。仅显示query/sec 值。
--csv以 CSV 格式输出。
-l生成循环,永久执行测试。
-t仅运行以逗号分隔的测试命令列表。
-IIdle 模式。仅打开 N 个 idle 连接并等待。

三、Redis数据库常用命令

  3.1 set和get

set:存放数据,命令格式为 set key value


get:获取数据,命令格式为 get key

  3.2 exists

    exists 命令可以判断键值是否存在

  3.3 del

    del 命令可以删除当前数据库的指定 key

  3.4 type

     type 命令可以获取 key 对应的 value 值类型

  3.5 rename

    rename 命令是对已有 key 进行重命名。(覆盖)

    格式:rename 源key 目标key

  3.6 renamenx

    renamenx 命令的作用是对已有 key 进行重命名,并检测新名是否存在,如果目标 key 存在则不进行重命名。(不覆盖

    格式:renamenx 源key 目标key

  3.7  dbsize

    dbsize命令的作用是查看当前数据库中key的数目

  3.8  设置密码

    使用config set requirepass yourpassword命令设置密码

  3.9 查看密码

    使用config set requirepass yourpassword命令设置密码

四、Redis多数据库常用命令

  4.1 多数据库中来回切换

    命令格式:select 序号

  4.2 多数据库之间移动数据

   格式:move 键值 序号

   4.3 清除数据库内数据

FLUSHDB :清空当前数据库数据


FLUSHALL :清空所有数据库的数据,慎用!

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

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

相关文章

JimuReport积木报表 v1.7.4 正式版本发布,免费的JAVA报表工具

项目介绍 一款免费的数据可视化报表&#xff0c;含报表和大屏设计&#xff0c;像搭建积木一样在线设计报表&#xff01;功能涵盖&#xff0c;数据报表、打印设计、图表报表、大屏设计等&#xff01; Web 版报表设计器&#xff0c;类似于excel操作风格&#xff0c;通过拖拽完成报…

python高校学生兼职雇佣信息网站vue+django

而随着经济的发展&#xff0c;企业的人力成本也越来越高&#xff0c;而有些工作却存在工作时间不稳定&#xff0c;工作量不确定的特点&#xff0c;不少企业便经常雇佣兼职人员来完成其某些工作而对于另外一-些商家来&#xff0c;有不少产品需要推向校园&#xff0c;因此校园传 …

SSM框架学习——SqlSession以及Spring与MyBatis整合

SqlSession以及Spring与MyBatis整合 准备所需要的JAR包 要实现MyBatis与Spring的整合&#xff0c;很明显需要这两个框架的JAR包&#xff0c;但是只是使用这两个框架中所提供的JAR包是不够的&#xff0c;还需要配合其他包使用&#xff1a; Spring的JAR包MyBatis的JAR包Spring…

CV论文--2024.4.2

1、Unsolvable Problem Detection: Evaluating Trustworthiness of Vision Language Models 中文标题&#xff1a;无法解决的问题检测&#xff1a;评估视觉语言模型的可信度 简介&#xff1a;本文提出了一个新颖且重要的挑战&#xff0c;即视觉语言模型&#xff08;VLM&#x…

[yolox]ubuntu上部署yolox的ncnn模型

首先转换pytorch->onnx->param模型&#xff0c;这个过程可以查资料步骤有点多&#xff0c;参考blog.51cto.com/u_15660370/6408303&#xff0c;这里重点讲解转换后部署。 测试环境&#xff1a; ubuntu18.04 opencv3.4.4(编译过程省略&#xff0c;参考我其他博客) 安装…

BM25 二叉树的后序遍历(postOrder()返回值用void)

import java.util.*;/** public class TreeNode {* int val 0;* TreeNode left null;* TreeNode right null;* public TreeNode(int val) {* this.val val;* }* }*/public class Solution {/*** 代码中的类名、方法名、参数名已经指定&#xff0c;请勿修改&a…

京东云明修“价格战”,暗渡“政企云”

文&#xff5c;白 鸽 编&#xff5c;王一粟 云计算行业越来越“卷”&#xff0c;一边卷大模型&#xff0c;一边卷价格。 2024 刚一开年&#xff0c;阿里云就宣布百余款产品大降价&#xff0c;最高降幅达55%。在阿里云宣布降价后&#xff0c;京东云紧随其后宣布&#xff0…

如何用Git来查看提交记录

2024年4月2日&#xff0c;周二上午 使用 git log 命令查看提交记录。这会列出所有的提交历史&#xff0c;按照时间顺序从最新的提交到最旧的提交显示。默认情况下&#xff0c;git log 会以一种格式化的方式显示提交信息&#xff0c;包括提交哈希值、作者、提交日期和提交信息等…

https安全性 带给im 消息加密的启发

大家好&#xff0c;我是蓝胖子&#xff0c;在之前# MYSQL 是如何保证binlog 和redo log同时提交的&#xff1f;这篇文章里&#xff0c;我们可以从mysql的设计中学会如何让两个服务的调用逻辑达到最终一致性&#xff0c;这也是分布式事务实现方式之一。今天来看看我们能够从http…

深入解析大数据体系中的ETL工作原理及常见组件

** 引言 关联阅读博客文章&#xff1a;探讨在大数据体系中API的通信机制与工作原理 关联阅读博客文章&#xff1a;深入理解HDFS工作原理&#xff1a;大数据存储和容错性机制解析 ** 在当今数字化时代&#xff0c;大数据处理已经成为了企业成功的重要组成部分。而在大数据处…

(C)1007 素数对猜想

1007 素数对猜想 问题描述 输入样例&#xff1a; 20 输出样例&#xff1a; 4 解决方案&#xff1a; #include<stdio.h> #include<string.h> #include<math.h> int main(){int n,d;int a[100000];int flag,jishu0;scanf("%d",&n);memset(a,-1,…

将 Three 带到 Vue 生态系统,TresJs 中文文档上线

将 Three 带到 Vue 生态系统&#xff0c;TresJs 中文文档上线 中文文档上线入门指南 ThreeJS 在创建 WebGL 3D 网站方面是一个奇妙的库&#xff0c;同时他也是一个保持不断更新的库&#xff0c;一些对其封装的维护者&#xff0c;如 TroisJS&#xff0c;往往很难跟上其所有的更…

docker容器添加新端口映射的步骤及`wsl$`目录的作用

在Docker容器已经创建后&#xff0c;需要添加新的端口映射&#xff0c;即对已经存在的Docker容器添加新的端口映射&#xff0c;可以通过以下步骤来添加&#xff0c;即通过修改配置文件的方法。 如何新增端口映射&#xff1f; 查找容器的hash值 docker inspect [容器id或名称…

体验OceanBase 的binlog service

OceanBase对MySQL具备很好的兼容性。目前&#xff0c;已经发布了开源版的binlog service工具&#xff0c;该工具能够将OceanBase特有的clog模式转换成binlog模式&#xff0c;以便下游工具如canal、flink cdc等使用。今天&#xff0c;我们就来简单体验一下这个binlog service的功…

ARM IHI0069F GIC architecture specification (5)

Ch2 中断分配与路由 2.1 The Distributor and Redistributors Distributor 为 SPI 提供路由配置&#xff0c;并保存所有关联的路由和优先级信息。 Redistributor 提供 PPI 和 SGI 的配置设置。 Redistributor总是在有限的时间内向 CPU 接口呈现具有最高优先级的待处理中断。 …

【QT】setContextMenuPolicy()函数用法

在Qt中&#xff0c;setContextMenuPolicy() 是一个相当通用的方法&#xff0c;几乎所有的继承自 QWidget 或其派生类的图形用户界面控件都可以使用该方法来设置它们的上下文菜单策略。这意味着&#xff0c;包括但不限于以下常见的Qt GUI控件都能使用 setContextMenuPolicy() 来…

软考高级架构师:进程和线程概念和例题

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;大厂高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

picGo图床搭建gitee和smms(建议使用)

picGoGitee 这个需要下载gitee插件, 因为官方频繁的检索文件类型, 有时候也会失效 如果没有特殊要求平时存个学习的要看图中文字的重要的图片建议就是smms, 免费也够用! 图片存本地不方便, 各种APP中来回传还会失帧损失画质, 所以你值得往下看 picGosmms 建议使用这个, sm…

idea2023+jdk1.8+Maven3.6.3+Testng6.10+junit4.13搭建测试

idea2023jdk1.8Maven3.6.3Testng6.10junit4.13搭建测试 首先创建maven工程 导入依赖 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/…

HTTP和HTTPS谁传输数据更安全?

1.HTTP HTTP在传输数据时&#xff0c;通常都是明文传输&#xff0c;也就是传输的数据没有进行加密。在这种情况下&#xff0c;如果传输的是一些敏感数据&#xff0c;比如某银行卡密码&#xff0c;就很容易被别人截获到&#xff0c;这就对我们的个人利益产生了威胁。 HTTP传输数…