简单了解过Redis的小伙伴应该都知道Redis常被当做缓存。那为什么要选这个nosql型的数据库来当缓存小伙伴们有考虑过这个问题吗?
两个角度考虑,性能,并发。
我们的Mysql中存放的数据是存放在磁盘上的,在对数据进行读取的时候会先把数据从磁盘读到内存中去,然后再对数据做一个处理,那我们知道磁盘的IO速度是远远小于cpu处理数据的速度的,而redis的数据是存在内存中的,所以我们访问redis中的数据相当于是直接基于内存操作,所以很快,那redis基于内存操作的话,万一断电了怎么办,这么简单的问题,咱们都想到了,设计redis的人会想不到吗,redis有两种持久化数据的方式,一种是RDB,一种是AOF,这里我就不过多的做拓展了。
高并发:直接操作缓存能够承受的请求是远远大于直接访问数据库的,所以我们可以考虑把数据库中的部分数据转移到缓存中去,这样用户的一部分请求会直接到缓存这里而不用经过数据库。
缓存分为本地缓存和分布式缓存。以 Java 为例,使用自带的 map 或者 guava 实现的是本地缓存,最主要的特点是轻量以及快速,生命周期随着 JVM的销毁而结束,并且在多实例的情况下,每个实例都需要各自保存一份缓存,缓存不具有一致性。
使用 redis 或 memcached 之类的称为分布式缓存,在多实例的情况下,各实例共用一份缓存数据,缓存具有一致性。缺点是需要保持 redis 或 memcached服务的高可用,整个程序架构上较为复杂。
比如1223445677777778aabbcccccccccc经过过滤之后就是12345678abc 复制代码 代码...
** 浅析微信内核 ** 今天和大家简单了解一下的微信的xConvole 第一步 打开微信 ...
Tomcat JavaWeb的概念 什么是JavaWeb JavaWeb是指通过Java语言编写可以通过浏览...
Ajax是2005年2月才诞生但是现在已经炙手可热的一项全新技术.这项新技术能够极大...
看着kali linux上百个网络命令,我陷入了沉思。专业的网络命令实在是太多了,如...
IT之家1月21日消息据外媒 Aroged 消息,微软 Win10 最新的系统更新后,依旧有一...
作者 |?神经星星 题图 |?视觉中国 来源 | Hyper超神经 见过对植物图片数据集的也...
背景 之前老黄写过一篇《ASP.NET Core结合Nacos来完成配置管理和服务发现》简单...
前后端分离开发项目 前端vue项目 服务端springboot项目 如何将vue的静态资源整合...
如何对一个文件夹进行创建和删除? % set fs=createobject("scripting.filesyste...