Nosql数据库服务之redis

Nosql数据库服务之redis

一图详解DB的分支产品

一图详解DB的分支产品

Nosql数据库介绍

是一种非关系型数据库服务,它能解决常规数据库的并发能力,比如传统的数据库的IO与性能的瓶颈,同样它是关系型数据库的一个补充,有着比较好的高效率与高性能。

专注于key-value查询的redis、memcached、ttserver

解决以下问题

1)对数据库的高并发读写需求

2)大数据的高效存储和访问需求

3)高可扩展性和高可用性的需求

Nosql数据库的应用环境

1)数据模型比较简单

2)需要灵活性更强的IT系统

3)对数据库的性能要求较高

4)不需要高度数据一致性

5)对于给定KEY,比较容易映射复杂值的环境

Nosql软件的分类与特点

1)key-value键值存储数据库(redis、memcached)

key-value键值存储数据库(redis、memcached)

  • 用于内容缓存,适合负载并扩展大的数据集

  • 数据类型是一系列的键值对

  • 有快速查询功能,但存储数据少结构化

  • 对事务的支持不好,数据库故障产生时不可进行回滚

2)列存储数据库(HBase)

列存储数据库(HBase)

  • 用于分布式的文件系统

  • 以列簇式存储,将同一列数据存在一起

  • 查找速度快,可扩展强,更容易进行分布式扩展

  • 功能相对局限

3)面向文件的数据库(mongoDB)

面向文件的数据库(mongoDB)

  • 用于WEB应用较多

  • 数据类型是一系列键值对

  • 查询性能不高,没有统一的查询语法

4)图形数据库(Graph)

图形数据库(Graph)

  • 社交网络应用较多

  • 不容易做分布式的集群方案

常用的Nosql数据库介绍

1)memcached

是一个开源高性能的,具有分布式内存对象的缓存系统

特点

1、安装布署简单

2、支持高并发、高性能

3、通过程序或负载均衡可以实现分布式

4、仅为内存缓存,重启服务数据丢失

官方网站:http://memcached.org

2)memcacheDB

是新浪基于memcached开发的一个开源项目,具备了事务恢复功能

特点

1、高并发读写

2、高效存储

3、高可用数据存储

官方网站:http://memcachedb.org/benchmark.html

生产环境如何选择Nosql数据库

1、最常规的缓存应用,memcached最合适

2、持久化存储方案memcacheDB

3、2000万以内数据量的小数据用memcached

4、大数据量可以用redis

redis持久化数据服务

REmote DIctionary server(redis)是一个基于key-value键值对的持久化数据库存储系统,对支持数据存储类型更多,包括字符串、列表、集合等

是一种持久化缓存服务,会周期的把更新的数据写入磁盘以及把修改操作记录追加到文件里记录下来,还支持主从同步模式,是一个开源的基于C语言编写的,支持网络、内存可持久化的日志型、key-value数据库

redis持久化数据服务

redis持久服务的特点

  • key-value键值类型存储系统

  • 支持数据可靠存储

  • 单进程单线程高性能服务器

  • 恢复比较慢

  • 单机qps(秒并发)可以达到10W

  • 适合小数据高速读写访问

redis存储系统优、缺点

  • 可以持久化存储数据

  • 支持每秒10W的读写频率

  • 支持丰富的数据类型

  • 所有操作都是原子性的

  • 支持异机主从复制

  • 内存管理开销大(低于物理内存的3/5)

  • 不同命令延迟差别大

官方网站:http://www.redis.io

redis持久化介绍

redis将数据存储于内存中,通过快照、日志两种方式实现持久化存储,前者性能高,会有数据丢失的情况,后者相反。

redis持久化介绍

redis应用场景

MYSQL+memcached网站架构的问题:数据量大就需要拆表,需要扩容,数据一致性是个问题

1)最佳应用场景就是内存服务

2)作为memcached替代方案

3)对数据一致性有一定要求但不高的业务

4)需要更多数据类型支持的业务

5)需要主从同步及负载均衡的业务

redis的安装

要进行主从同步配置,可以实现故障切换,主上禁用数据持久化,从上配置,内存要够大

[root@redis-m tools]# wget http://download.redis.io/releases/redis-2.8.24.tar.gz[root@redis-m tools]#tar zxf redis-2.8.24.tar.gz[root@redis-m tools]#cd redis-2.8.24[root@redis-m redis-2.8.24]#make[root@redis-m redis-2.8.24]#make PREFIX=/application/redis-2.8.24 install[root@redis-m redis-2.8.24]#ln -s /application/redis-2.8.24 /application/redis[root@redis-m tools]# tree /application/redis/application/redis`-- bin|-- redis-benchmark #性能测试工具|-- redis-check-aof #检测更新日志|-- redis-check-dump #检查本地数据库rdb文件|-- redis-cli #命令行客户端操作工具|-- redis-sentinel -> redis-server`-- redis-server #服务的启动程序### 配置环境变量[root@redis-m tools]# echo "PATH=/application/redis/bin:$PATH">>/etc/profile[root@redis-m tools]# source /etc/profile[root@redis-m tools]# which redis-server/application/redis/bin/redis-server

查看帮助文档

[root@redis-m tools]# redis-server --helpUsage: ./redis-server [/path/to/redis.conf] [options]./redis-server - (read config from stdin)./redis-server -v or --version./redis-server -h or --help./redis-server --test-memory <megabytes>Examples:./redis-server (run the server with default conf)./redis-server /etc/redis/6379.conf./redis-server --port 7777./redis-server --port 7777 --slaveof 127.0.0.1 8888./redis-server /etc/myredis.conf --loglevel verbose

启动服务

[root@redis-m ~]# cd /application/redis/   [root@redis-m redis]# lltotal 4drwxr-xr-x 2 root root 4096 Mar 22 04:50 bin[root@redis-m redis]# mkdir conf[root@redis-m redis]# cp /download/tools/redis-2.8.24/redis.conf ./conf/[root@redis-m redis]# redis-server /application/redis/conf/redis.conf &[6072] 22 Mar 05:00:51.373 # Server started, Redis version 2.8.24[6072] 22 Mar 05:00:51.374 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. #内存不足的时候,数据加载到磁盘可能失效,可以使用命令解决或修改配置文件[6072] 22 Mar 05:00:51.375 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.[6072] 22 Mar 05:00:51.375 * The server is now ready to accept connections on port 6379[root@redis-m redis]# lsof -i :6379COMMAND PID USER FD  TYPE DEVICE SIZE/OFF NODE NAMEredis-ser 6072 root 4u IPv6  24271 0t0  TCP *:6379 (LISTEN)redis-ser 6072 root 5u IPv4 24273 0t0  TCP *:6379 (LISTEN)vm.overcommit_memory0表示用户空间请求更多内存时,内核尝试估算出余下可用内存1表示内核允许最大限度的的使用内存

关闭服务命令

[root@redis-m redis]# redis-cli shutdown[6072] 22 Mar 05:09:32.699 # User requested shutdown...[6072] 22 Mar 05:09:32.699 * Saving the final RDB snapshot before exiting.[6072] 22 Mar 05:09:32.710 * DB saved on disk[6072] 22 Mar 05:09:32.711 # Redis is now ready to exit, bye bye...[1]+  Done  redis-server /application/redis/conf/redis.conf

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

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

相关文章

视频讲解|3014 含分布式电源的配电网优化重构

目录 1 主要内容 2 讲解视频链接 3 部分程序 1 主要内容 该视频为程序目录中编号1034的讲解内容&#xff0c;该程序的链接为配电网优化重构matlab智能算法&#xff0c;本次重点讲解了基本环矩阵原理以及代码两步实现过程、如何利用基本环向量去创造可行解、粒子群优化过程、…

list【2】模拟实现(含迭代器实现超详解哦)

模拟实现list 引言&#xff08;实现概述&#xff09;list迭代器实现默认成员函数operator* 与 operator->operator 与 operator--operator 与 operator!迭代器实现概览 list主要接口实现默认成员函数构造函数析构函数赋值重载 迭代器容量元素访问数据修改inserterasepush_ba…

Kafka3.0.0版本——消费者(消费者组详细消费流程图解及消费者重要参数)

目录 一、消费者组详细消费流程图解二、消费者的重要参数 一、消费者组详细消费流程图解 创建一个消费者网络连接客户端&#xff0c;主要用于与kafka集群进行交互&#xff0c;如下图所示&#xff1a; 调用sendFetches发送消费请求&#xff0c;如下图所示&#xff1a; (1)、Fet…

【halcon】halcon字符识别——OCR

前言 OCR&#xff08;Optical Character Recongnition&#xff09;光学字符识别。 halcon 的OCR&#xff0c;提供了几种方式&#xff0c;我们应该如何选择&#xff1f; 自动文本阅读器&#xff08;find_text&#xff09;手动文本阅读器&#xff08;find_text&#xff09;自己…

Android USB电源管理

The USB peripheral detects the lack of 3 consecutive SOF packets as a suspend request from the USB host. 1 驱动shutdown顺序 系统关机或重启的过程中&#xff0c;会调用设备驱动的shutdown函数来完成设备的关闭操作&#xff0c;有需要的设备可以在驱动中定义该函数。其…

Python一行命令搭建HTTP服务器并外网访问 - 内网穿透

文章目录 1.前言2.本地http服务器搭建2.1.Python的安装和设置2.2.Python服务器设置和测试 3.cpolar的安装和注册3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 1.前言 Python作为热度比较高的编程语言&#xff0c;其语法简单且语句清晰&#xff0c;而且python有…

射频功率放大器的指标有哪些内容

射频功率放大器是射频系统中至关重要的组件&#xff0c;用于放大射频信号的功率。本文将详细介绍射频功率放大器的指标&#xff0c;包括功率增益、带宽、线性度、效率、稳定性等关键指标。 一、功率增益 功率增益是射频功率放大器最基本的指标之一&#xff0c;表示放大器将输入…

taro h5 点击页面任意地方关闭弹窗组件 --- findDOMNode 判断点击节点是否属于某个组件

场景&#xff1a;如图&#xff0c;弹窗在大组件中&#xff0c;点击小组件显示弹窗&#xff0c;要求点击除弹窗外的任何元素都能关闭弹窗并且能执行元素原有的逻辑 方法一 最简单的是弹窗背后有一个覆盖整个页面的透明的cover, 点击直接关闭&#xff0c;但是这样虽然点击页面…

Spring最佳实践: 构建高效可维护的Java应用程序

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

【docker】私有仓库搭建

Docker 私有仓库搭建 在 Docker 中&#xff0c;当我们执行 docker pull xxx 的时候 &#xff0c;它实际上是从 registry.hub.docker.com 这个地址去查找&#xff0c;这就是Docker公司为我们提供的公共仓库。在工作中&#xff0c;我们不可能把企业项目push到公有仓库进行管理。…

试图替代 Python 的下一代AI编程语言:Mojo

文章目录 为什么叫 Mojo &#xff1f;Python 家族的一员&#xff0c;MojoPython 的好处&#xff1a;Python 兼容性Python 的问题移动和服务器部署&#xff1a;Python 子集和其他类似 Python 的语言&#xff1a; Mojo 是一种创新的编程语言&#xff0c;结合了 Python 的可用性和…

浅谈redis未授权漏洞

redis未授权漏洞 利用条件 版本比较高的redis需要修改redis的配置文件&#xff0c;将bind前面#注释符去掉&#xff0c;将protected-mode 后面改为no 写入webshell config get dir #查看redis数据库路径 config set dir web路径# #修改靶机Redis数据库路径 config set dbfilen…

基于SSM的人事管理信息系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

【笔试强训选择题】Day39.习题(错题)解析

作者简介&#xff1a;大家好&#xff0c;我是未央&#xff1b; 博客首页&#xff1a;未央.303 系列专栏&#xff1a;笔试强训选择题 每日一句&#xff1a;人的一生&#xff0c;可以有所作为的时机只有一次&#xff0c;那就是现在&#xff01;&#xff01;&#xff01;&#xff…

数据集笔记 geolife (操作篇)

数据集介绍可看&#xff1a;数据集笔记:GeoLife GPS 数据 &#xff08;user guide&#xff09;_UQI-LIUWJ的博客-CSDN博客 1 读取数据 import os os.chdir(D:/Geolife Trajectories 1.3/Geolife Trajectories 1.3/Data/000/Trajectory)import pandas as pd data pd.read_csv(…

基于AHP模型指标权重分析python整理

一 背景介绍 日常会有很多定量分析的场景&#xff0c;然而也会有一些定性分析的场景针对定性分析的场景&#xff0c;预测者只能通过主观判断分析能力来推断事物的性质和发展趋势然而针对个人的直觉和虽然能够有一定的协助判断效果&#xff0c;但是很难量化到指标做后期的复用 …

windows服务器自带IIS搭建网站并发布公网访问【内网穿透】

文章目录 1.前言2.Windows网页设置2.1 Windows IIS功能设置2.2 IIS网页访问测试 3. Cpolar内网穿透3.1 下载安装Cpolar3.2 Cpolar云端设置3.3 Cpolar本地设置 4.公网访问测试5.结语 1.前言 在网上各种教程和介绍中&#xff0c;搭建网页都会借助各种软件的帮助&#xff0c;比如…

自动计算比例 计算属性 computed @input=“rate“

<el-col :span"12"><el-form-item label"当年累计实收租金:" prop"cumulativeRent"><el-inputv-model"createForm.cumulativeRent"input"rate"clearable:disabled"value 2"><template slot…

Gin项目实战

Gin项目实战 Gin博客项目-项目架构Gin博客项目-集成gormGin博客项目-集成Bootstrap创建用户表单Gin 博客项目-实现控制器和路由Gin 博客项目-设计静态页面Gin 博客项目-用户注册Gin 博客项目-用户登录Gin 博客项目-集成markdown编辑器Gin 博客项目-创建博客模型和DAOGin 博客项…

深入解析OLED透明屏的工作原理与优势,智能家居的未来之选

OLED透明屏作为一项突破性的显示技术&#xff0c;不仅具备出色的视觉效果&#xff0c;还带来了全新的功能和应用。 在这篇文章中&#xff0c;尼伽将深入探讨OLED透明屏的功能特点&#xff0c;介绍其在各个领域的广泛应用&#xff0c;并提供实用的案例和数据&#xff0c;希望看…