目录
内存高速缓存数据库,使用 C 语言编写,典型的 NoSQL 数据库服务器, Redis 是一个 key-value 存储系统,它支持丰富的数据类型
优点:纯内存操作, Redis 的性能非常出色,且支持保存多种数据结构,具有原子性。
缺点:数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此 Redis 适合的场景主要局限在较小数据量的高性能操作和运算上。修改配置文件,进行重启,将硬盘中的数据加载进内存,时间比较久。在这个过程中, redis 不能提供服务。
Redis 为了达到最快的读写速度将数据都读到内存中,并通过异步的方式将数据写入磁盘。所以 redis 具有快速和数据持久化的特征。如果不将数据放在内存中,磁盘 I/O 速度为严重影响 redis 的性能。
Memcache | Redis | |
存储方式 | 全部在内存中,断电数据库挂掉 | 部分在硬盘,数据持久性 |
数据类型 | 类型相对简单 | 复杂数据类型 |
线程模型 | 多线程+锁 | 单线程+多路IO复用 |
value大小 | 1MB | 1GB |
RDB持久化:指定时间间隔内生成数据集的时间点快照---------最大化Redis的性能,恢复大数据集时更快,但服务器故障时可能会丢失好几分钟的数据。
AOF持久化:记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。 Redis 还可以在后台对 AOF 文件进行重写(rewrite),使得 AOF 文件的体积不会超出保存数据集状态所需的实际大小。-----故障时,丢失数据少,但是文件体积很大,可能出现bug不能恢复数据。
无持久化:让数据只在服务器运行时存在。
同时应用AOF和RDB:重启时优先使用AOF文件还原数据集,通常AOF数据集更完整。
Apache 下的一个子项目。 类似于 ZeroMQ,它能够以代理人和点对点的技术实现队列。同时类似于 RabbitMQ,它少量代码就可以高效地实现高级应用场景。
点到点模式--消息发送失败时,会默认保存在服务端,直到有消费者将其消费,所以消息不会丢失。
发布订阅模式--默认情况下只通知一次,消息发送失败就没了。如果要求消息必须送达,需要配置持久订阅,每个订阅端定义一个 id,在订阅时向 activemq 注册。发布消息和接收消息时需要配置发送模式为持久化。此时 如果客户端接收不到消息,消
息会持久化到服务端,直到客户端正常接收后为止。
Apache 下的一个子项目,是一个高性能跨语言分布式发布/订阅消息队列系统。
特性:快速持久化、高吞吐、完全的分布式系统、支持 Hadoop 数据并行加载
nginx会把 Request 在读取完整之前 buffer 住,这样交给后端的就是一个完整的 HTTP请求,从而提高后端的效率,而不是断断续续的传递。 同样, Nginx 也可以把response 给 buffer 住,同样也是减轻后端的压力。所以,nginx可以提升服务器性能。
开放源码的分布式应用程序协调服务,目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、 功能稳定的系统提供给用户
基本运转流程:1、选举 Leader。 2、同步数据。 3、选举 Leader 过程中算法有很多,但要达到的选举标准是一致的。 4、 Leader 要具有最高的执行 ID,类似 root 权限。 5、集群中大多数的机器得到响应并 follow选出的Leader。
一个独立的企业级搜索应用服务器,是高性能,采用 Java5 开发,基于 Lucene 的全文搜索服务器。
Ik 分词器的分词原理本质上是词典分词。 先在内存中初始化一个词典,然后在分词过程中挨个读取字符,和字典中的字符相匹配,把文档中的所有的词语拆分出来的过程。
是一种跨编程语言和跨操作系统平台的远程调用技术。服务器和客户端可在不同的操作系统上使用不同的编程语言编写。
本文地址:https://blog.csdn.net/qq_39493274/article/details/107338267
如对本文有疑问, 点击进行留言回复!!
PLSQL Developer 13 报错“数据库字符集(AL32UTF8)和客户端字符集(2%)是不同的。字符集转化可能会造成不可预期的后果“
SQL注入--利用floor(rand(0)*2)报错返回信息
Oracle SQL nvl(),listagg() within group(),TO_CHAR(),CASE WHEN THEN ELSE END
SqlServer2008实例32全文索引和全文目录之从全文索引中去掉普通字符串
网友评论