NOSQL之Redis配置及优化
目录
一、关系型数据库
二、非关系型数据库
三、关系型数据库和非关系型数据库区别
1、数据存储方式不同
2、扩展方式不同
3、对事务性的支持不同
四、Redis简介
五、Redis优点
(1)具有极高的数据读写速度
(2)支持丰富的数据类型
(3)支持数据的持久化
(4)原子性
(5)支持数据备份
六、Redis 安装部署
一、关系型数据库
关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。
SQL 语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型数据库中数据的检索和操作。
主流的关系型数据库包括 Oracle、MySQL、SQL Server、Microsoft Access、DB2、PostgreSQL 等。
以上数据库在使用的时候必须先建库建表设计表结构,然后存储数据的时候按表结构去存,如果数据与表结构不匹配就会存储失败。
二、非关系型数据库
NoSQL(NoSQL = Not Only SQL ),意思是“不仅仅是 SQL”,是非关系型数据库的总称。
除了主流的关系型数据库外的数据库,都认为是非关系型。
不需要预先建库建表定义数据存储表结构,每条记录可以有不同的数据类型和字段个数(比如微信群聊里的文字、图片、视频、音乐等)。
主流的 NoSQL 数据库有 Redis、MongBD、Hbase、Memcached 等。
三、关系型数据库和非关系型数据库区别
1、数据存储方式不同
关系型和非关系型数据库的主要差异是数据存储的方式。关系型数据天然就是表格式的,因此存储在数据表的行和列中。数据表可以彼此关联协作存储,也很容易提取数据。
与其相反,非关系型数据不适合存储在数据表的行和列中,而是大块组合在一起。非关系型数据通常存储在数据集中,就像文档、键值对或者图结构。你的数据及其特性是选择数据存储和提取方式的首要影响因素。
2、扩展方式不同
SQL和NoSQL数据库最大的差别可能是在扩展方式上,要支持日益增长的需求当然要扩展。
要支持更多并发量,SQL数据库是纵向扩展,也就是说提高处理能力,使用速度更快速的计算机,这样处理相同的数据集就更快了。因为数据存储在关系表中,操作的性能瓶颈可能涉及很多克服。虽然SQL数据库有很大扩展空间,但最终肯定会达到纵向扩展的上限个表,这都需要通过提高计算机性能来。
而NoSQL数据库是横向扩展的。因为非关系型数据存储天然就是分布式的,NoSQL数据库的扩展可以通过给资源池添加更多普通的数据库服务器(节点)来分担负载。
关系:纵向 比如说硬件中添加内存
非关:横向 天然分布式
3、对事务性的支持不同
如果数据操作需要高事务性或者复杂数据查询需要控制执行计划,那么传统的SQL数据库从性能和稳定性方面考虑是你的最佳选择。SQL数据库支持对事务原子性细粒度控制,并且易于回滚事务。
虽然NoSQL数据库也可以使用事务操作,但稳定性方面没法和关系型数据库比较,所以它们真正闪亮的价值是在操作的扩展性和大数据量处理方面。
四、Redis简介
Redis(远程字典服务器) 是一个开源的、使用 C 语言编写的 NoSQL 数据库。
Redis 基于内存运行并支持持久化,采用key-value(键值对)的存储形式,是目前分布式架构中不可或缺的一环。
Redis服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程,Redis的实际处理速度则是完全依靠于主进程的执行效率。若在服务器上只运行一个Redis进程,当多个客户端同时访问时,服务器的处理能力是会有一定程度的下降;若在同一台服务器上开启多个Redis进程,Redis在提高并发处理能力的同时会给服务器的CPU造成很大压力。即:在实际生产环境中,需要根据实际的需求来决定开启多少个Redis进程。若对高并发要求更高一些,可能会考虑在同一台服务器上开启多个进程。若CPU资源比较紧张,采用单进程即可。
五、Redis优点
(1)具有极高的数据读写速度
数据读取的速度最高可达到 110000 次/s,数据写入速度最高可达到 81000 次/s。
(2)支持丰富的数据类型
支持 key-value、Strings、Lists、Hashes、Sets 及 Sorted Sets 等数据类型操作。
(3)支持数据的持久化
可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
(4)原子性
Redis 所有操作都是原子性的。
(5)支持数据备份
即 master-salve 模式的数据备份。
六、Redis 安装部署
systemctl stop firewalld
setenforce 0
yum install -y gcc gcc-c++ make
tar zxvf redis-5.0.7.tar.gz -C /opt/
cd /opt/redis-5.0.7/
make
make PREFIX=/usr/local/redis install
ln -s /usr/local/redis/bin/* /usr/local/bin/
vim /etc/redis/6379.conf
bind 127.0.0.1 192.168.146.40 #70行,添加 监听的主机地址
port 6379 #93行,Redis默认的监听端口
daemonize yes #137行,启用守护进程
pidfile /var/run/redis_6379.pid #159行,指定 PID 文件
loglevel notice #167行,日志级别
logfile /var/log/redis_6379.log #172行,指定日志文件
/etc/init.d/redis_6379 restart
相关文章:
![](https://img-blog.csdnimg.cn/6af9638114964b68b090979245aa6e63.png)
NOSQL之Redis配置及优化
目录 一、关系型数据库 二、非关系型数据库 三、关系型数据库和非关系型数据库区别 1、数据存储方式不同 2、扩展方式不同 3、对事务性的支持不同 四、Redis简介 五、Redis优点 (1)具有极高的数据读写速度 (2)支持丰富的…...
![](https://img-blog.csdnimg.cn/img_convert/3c296170b403a5912fd24c0fae7232dc.jpeg)
植物一区HR | 植物生理组+转录组:揭示豆科植物响应干旱胁迫机制
PlantArray 植物高通量生理学表型监测系统 是一套以植物生理学为基础的高精度,高通量,自动化表型监测系统,集合实验设置、数据分析、决策工具于一身,能够高通量实时动态监测并进行全天候生理及环境参数采集,是进行植物…...
![](https://www.ngui.cc/images/no-images.jpg)
TCP粘包问题
TCP粘包问题 TCP粘包问题造成TCP粘包的原因发送方原因接收方原因 如何处理TCP粘包发送方接收方应用层 为什么UDP没有粘包问题 TCP粘包问题 TCP粘包就是指发送方发送的若干包数据到达接收方时粘成了一包,从接收缓冲区来看,后一包数据的头紧接着前一包数据…...
![](https://img-blog.csdnimg.cn/3e38f40af93a44afa8dcb95e3a3ea6d1.png)
QT【day1】
登录框: #include "mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent) {//窗口设置this->setFixedSize(600,600); //大小this->setWindowTitle("MUMU"); //文本内容this->setWindowOpacity(0.8); //透…...
![](https://img-blog.csdnimg.cn/d248e8f19b51463297f721a2641fc471.png)
【Golang】Golang进阶系列教程--为什么 Go 不支持 []T 转换为 []interface
文章目录 前言官方解释内存布局程序运行中的内存布局通用方法 前言 在 Go 中,如果 interface{} 作为函数参数的话,是可以传任意参数的,然后通过类型断言来转换。 举个例子: package mainimport "fmt"func foo(v inter…...
![](https://img-blog.csdnimg.cn/95148e11605f41f2b0017ba32b3fd5ef.png)
两数相加 II——力扣445
题目描述 法一 栈 本题旨在从后往前加,为了逆序处理所有数位,利用栈,把数字压入栈中,再依次取出相加,注意进位!进位是/10,另外需要注意栈的常用函数,push()、pop()、top()࿰…...
![](https://www.ngui.cc/images/no-images.jpg)
js获取上传视频的封面第一帧
代码如下:粘贴到这个在线编辑器里,可以测试效果。 菜鸟教程在线编辑器 <div><div style"flex: 1;border: 1px solid #999; position:relative;color: #333;background-color:#FFF2B8;"><span style"position: absolute…...
![](https://img-blog.csdnimg.cn/529448960ce844ce8b5746a72251ca10.png)
Nginx 高可用负载均衡(三种模式)
一、nginx普通集群负载均衡 1、安装keepalived (1)下载 https://www.keepalived.org/download.html(2)解压 tar -zxvf keepalived-2.0.18.tar.gz(3)使用configure命令配置安装目录与核心配置文件所在位置: ./configure --prefix/usr/local/keepalived --sysconf/e…...
![](https://www.ngui.cc/images/no-images.jpg)
Linux tail命令
在Linux中,tail命令用于查看文件的末尾内容。它可以显示文件的最后几行,默认情况下显示最后10行。 以下是一些常见的使用方式和示例: 显示文件的最后10行: tail filename将会显示名为filename的文件的最后10行内容。 显示文件…...
![](https://img-blog.csdnimg.cn/813d4e85537e4b30b71a6e7639fe814b.png#pic_center)
【屏幕适配发展介绍 Objective-C语言】
一、接下来,我们花一天时间,给大家介绍这个屏幕适配 1.那么,屏幕适配,是什么意思啊 我们说,写程序的时候,我们有时候要做 1)系统适配 2)屏幕适配 1)系统适配:是指的你写的这个代码,在iOS6、iOS7、iOS8,在不同的iOS系统下,是不是运行的效果,一致吧 这个指的是…...
![](https://www.ngui.cc/images/no-images.jpg)
linux中ls命令详解
ls 显示目录内容列表 补充说明 ls命令 就是list的缩写,用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。 语法 ls [选项] [文件名...][-1abcdfgiklmnopqrstuxABCDFGLNQRSUX…...
![](https://img-blog.csdnimg.cn/ad723e25ba764ff3a967c4f847a60911.png)
大盗阿福(记忆化搜索板子)
提供核心代码:(经典的记忆化搜索套路) int dfs(int pos){if(f[pos]!-1) return f[pos];//记忆化if(pos>n) return 0;//边界,越界int sum0;//模板int f10,f20;f1dfs(pos1);f2dfs(pos2)w[pos];summax(f1,f2);//模板f[pos]sum;//模…...
![](https://www.ngui.cc/images/no-images.jpg)
打卡力扣题目八
#左耳听风 ARST 打卡活动重启# 目录 一、问题 二、解题方法一 三、解题方法二 四、两种方法的区别 关于 ARTS 的释义 —— 每周完成一个 ARTS: ● Algorithm: 每周至少做一个 LeetCode 的算法题 ● Review: 阅读并点评至少一篇英文技术文章 ● Tips: 学习至少一…...
![](https://img-blog.csdnimg.cn/2a4afa9d67654c1c9066313de9b87b7d.png)
matlab使用教程(5)—矩阵定义和基本运算
本博客介绍如何在 MATLAB 中创建矩阵和执行基本矩阵计算。 MATLAB 环境使用矩阵来表示包含以二维网格排列的实数或复数的变量。更广泛而言,数组为向量、矩阵或更高维度的数值网格。MATLAB 中的所有数组都是矩形,在这种意义上沿任何维度的分量向量的长度…...
![](https://img-blog.csdnimg.cn/00794742e8a04826af7a9dbe1f45c229.png)
用HTML写一个简单的静态购物网站
实现代码: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>购物网站</title> &l…...
![](https://www.ngui.cc/images/no-images.jpg)
如何在go中实现程序的优雅退出,go-kratos源码解析
使用kratos这个框架有近一年了,最近了解了一下kratos关于程序优雅退出的具体实现。 这部分逻辑在app.go文件中,在main中,找到app.Run方法,点进入就可以了 它包含以下几个部分: App结构体:包含应用程序的配置选项和运行时状态。 …...
![](https://img-blog.csdnimg.cn/1b934526ee52476195f3be8365be53ee.png)
Appium+python自动化(二十八)- 高级滑动(超详解)
高级溜冰的滑动 滑动操作一般是两点之间的滑动,这种滑动在这里称其为低级的溜冰滑动;就是上一节给小伙伴们分享的。然而实际使用过程中用户可能要进行一些多点连续滑动操作。如九宫格滑动操作,连续拖动图片移动等场景。那么这种高级绚丽的溜…...
![](https://img-blog.csdnimg.cn/9d0a7ea3030a4f70a4dc02f9e0a96d8d.png)
github token使用方法
git remote set-url origin https://<githubtoken>github.com/<username>/<repositoryname>.git 在私有仓库的HTTPS的url上加入<githubtoken>即为token url,可以免ssh key登录...
![](https://www.ngui.cc/images/no-images.jpg)
Spring属性注解对配置项名称的自动转换
一、前言 在Spring中,我们经常需要将配置文件中的属性值注入到Java类中。Spring提供了两个主要的注解来实现这一功能:Value 和 ConfigurationProperties。其中 ConfigurationProperties支持将配置项名称与Java类中的属性名进行自动转换,包括…...
![](https://img-blog.csdnimg.cn/6369911301e14492bf08e9d459824596.jpeg)
Docker 安全 Docker HTTPS请求过程与配置
Docker 容器安全注意点 尽量别做的事 尽量不用 --privileged 运行容器(授权容器root用户拥有宿主机的root权限) 尽量不用 --network host 运行容器(使用 host 网络模式共享宿主机的网络命名空间) 尽量不在容器中运行 ssh 服务 尽…...
![](https://img-blog.csdnimg.cn/ef9a8f6cf94b467095e45f82571b6338.png)
DevOps(三)
CD(二) 1. 整体流程2. 环境准备1. jenkins安装2. 编译安装git3. docker安装4. docker-compose安装5. sonarqube安装6. harbor安装7. gitlab私服8. maven安装9. Nexus部署10. K8s部署3. 安装java及编写代码3.1 安装java3.2 安装IntelliJ IDEA3.3 安装tomcat3.4 安装maven3.5 c…...
![](https://www.ngui.cc/images/no-images.jpg)
AOP的妙用
一、改代码 自定义注解用于提示该代码已经在AOP中重构了 public interface ReviseToAop {// 用于记录修改状态String value() default ""; }使用注解(无意义,只是表名被修改) ReviseToAop("修改于:2023/7/30&quo…...
![](https://img-blog.csdnimg.cn/img_convert/8df63de3ecc488a3d3fff60c6e5bdec0.png)
CAN转ETHERCAT网关将CAN 总线和 ETHERCAT 网络连接方法
由于好多现场会出现将CAN总线的设备接到EtherCAT网络中,由于协议的不相同,不能直接进行连接,现需一种能同时兼容CAN 总线和ETHERCAT网络的一种设备,由此捷米JM-ECT-CAN 是自主研发的一款 ETHERCAT 从站功能的通讯网关。该产品主要…...
![](https://img-blog.csdnimg.cn/061f6e15fe3744eaadf521cbf64bfc81.png)
【大数据趋势】7月30日 汇率,恒指期货的大数据趋势概率分析。
1. 数据源头之一 : 汇率变化 从程序模拟趋势来看,美元在持续弱势状态,周线上正在构建一个新的下跌趋势,而且正在反抽过程中,即将完成,如果没有外部干预,会顺势往下。从月线来看,高点逐步降低&a…...
![](https://img-blog.csdnimg.cn/774a60ee98dc461c8e53168013d7e7d1.png)
mac使用mvn下载node-sass 会Binary download failed, trying source
m1 上使用nvm 以下node的版本可以直接下载(Binary download,而不是 trying source)而不用切换mac cpu架构 zhiwenwenzhiwenwendeMBP cockpit % nvm install 14.15.5 Downloading and installing node v14.15.5... Downloading https://node…...
![](https://img-blog.csdnimg.cn/6cbcd6c17cec4dba9bb3c0f895f02fa2.png)
【C++】开源:Muduo网络库配置与使用
😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍Muduo网络库配置与使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下…...
![](https://www.ngui.cc/images/no-images.jpg)
VCS ICO - Intelligent Coverage Optimization
ico是vcs提供的用于优化覆盖率的feature;一般用户通过dist solver bofore等约束了变量的随机概率,而ico会在用户约束的基础上,做一些自动“修正”,以此来优化随机激励,提高随机多样性,加速覆盖率收敛&#…...
![](https://img-blog.csdnimg.cn/0cf804d67f134149982033b1127337f5.png)
【分布式系统】分布式系统的8个谬误
网络可靠 对于分布式系统来说,网络、计算、存储是三大基石,系统之间进行拆分隔离之后,那么必定存在网络通讯,而网络是最不可靠的。 不管是从硬件层面还是软件层面来说,网络是不可靠的。(断电、配置错误、ID…...
![](https://img-blog.csdnimg.cn/ff192303f5ea4826b0871d40a13a711a.png)
tinkerCAD案例:25. 量角器 - 测量角度
tinkerCAD案例:25. 量角器 - 测量角度 原文 Now we’re going to make a protractor! A Protractor is one of the most basic, but essential, tools for making measurements. It is, then, surprising that the modern protractor is barely over 200 years ol…...
![](https://img-blog.csdnimg.cn/bd36e8520ecf4ba8b61cbfd4e7a85295.gif)
Flutter 使用texture_rgba_renderer实现桌面端渲染视频
Flutter视频渲染系列 第一章 Android使用Texture渲染视频 第二章 Windows使用Texture渲染视频 第三章 Linux使用Texture渲染视频 第四章 全平台FFICustomPainter渲染视频 第五章 Windows使用Native窗口渲染视频 第六章 桌面端使用texture_rgba_renderer渲染视频(本…...
![](/images/no-images.jpg)
wordpress ftp 上传到 那个文件夹/冬镜seo
前言 我们知道,在 MVC 应用程序中,有一部分约定的内容。其中关于 Controller 的约定是这样的。 每个 Controller 类的名字以 Controller 结尾,并且放置在 Controllers 目录中。Controller 使用的视图是在 Views 主目录的一个子目录中…...
![](https://img-blog.csdnimg.cn/img_convert/9d235a0a35557ba9256a82fb7bbe6241.png)
正规的培训行业网站制作/app推广方案
前言:中秋国庆假期快结束了,马上又要投入到工作或学习中了,可能有部分人已经投入工作或是学习了。 我们在未来会遇到很多的困难与麻烦,但是只要坚信自己不服输不断拼搏,那这些困难与麻烦终究要拜倒在我们脚下。嗒嗒嗒&…...
![](https://img-blog.csdnimg.cn/20210217105502841.png)
精神文明建设委员会网站/关键词排名查询工具
state 和 props 主要的区别: 在于 props 是不可变的,而 state 可以根据与用户交互来改变。 组件需要定义 state 来更新和修改数据,子组件只能通过 props 来传递数据。 1.如何在组件中使用 props: <body> <div id&quo…...
wordpress左边导航栏/网盟推广
).建立工作空间 打开eclipse.exe出现的第一个界面: 需要设置工作空间,我们放在D盘的workspace目录,点击“OK”。 2).点击工作区右上角 “workbench”链接,进入工作台 打开的工作台界面 3).创建一个java项目 点击File--New--Projec…...
![](https://img-blog.csdnimg.cn/20201215101554241.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4ODg5MzUw,size_16,color_FFFFFF,t_70)
wordpress o2o插件/石景山区百科seo
上次讲到的是CSVread函数来获取测试数据的参数化,这次使用randomstring 有的时候有些参数是不断变化的,我们如果利用csv去做,还是要准备很多不同的数据,但是我们如果用randomstring的话,那么就可以减少这个问题的干扰。 步骤: 准备好csV格式的数据准备…...
![](https://images2018.cnblogs.com/blog/787623/201805/787623-20180516163141187-1770874792.png)
合肥制作网站的公司简介/品牌建设
谷歌浏览器安装jetbrains ide support 打开webstorm 新建项目 新建test.html并添加js文件 Edit Configurations--->defaults-->javascript debug-->browser-->选择chrome 运行test.html 参考:https://blog.csdn.net/happybruce8023/article/details/534…...